Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference s1
Notices © Agilent Technologies, Inc. 2007-2014 Manual Part Number No part of this manual may be reproduced in any form or by any means (including electronic storage and retrieval or translation into a foreign language) without prior agreement and written consent from Agilent Technologies, Inc. as governed by United States and international copyright laws. Version 04.60.0013 Trademarks MIPI is a licensed trademark of MIPI, Inc. in the U.S. and other jurisdictions.
In This Book This book is your guide to programming the Infiniium 9000 Series oscilloscopes. Chapter 1, “What's New,” starting on page 31, describes programming command changes in the latest version of oscilloscope software. Chapter 2, “Setting Up,” starting on page 43, describes the steps you must take before you can control the oscilloscope with remote programs. The next several chapters give you an introduction to programming the oscilloscopes, along with necessary conceptual information.
• Chapter 26, “Pod Commands,” starting on page 745 • Chapter 27, “Root Level Commands,” starting on page 751 • Chapter 28, “Serial Bus Commands,” starting on page 789 • Chapter 29, “Self- Test Commands,” starting on page 829 • Chapter 30, “Serial Data Equalization Commands,” starting on page 833 • Chapter 31, “System Commands,” starting on page 877 • Chapter 32, “Time Base Commands,” starting on page 891 • Chapter 33, “Trigger Commands,” starting on page 903 • Chapter 34, “Waveform Commands,” starting on pa
Contents In This Book 3 1 What's New What's New in Version 4.60 32 What's New in Version 4.50 33 What's New in Version 4.30 34 What's New in Version 4.20 35 What's New in Version 4.10 36 What's New in Version 3.50 37 What's New in Version 3.20 39 What's New in Version 3.11 40 What's New in Version 3.10 41 2 Setting Up Step 1. Install Agilent IO Libraries Suite software Step 2. Connect and set up the oscilloscope Using the LAN Interface 45 Step 3.
Header Types 62 Simple Command Header 62 Compound Command Header 62 Combining Commands in the Same Subsystem Common Command Header 63 Duplicate Mnemonics 63 Query Headers 63 64 Program Header Options 65 Character Program Data 66 Numeric Program Data Embedded Strings 67 68 Program Message Terminator 69 Common Commands within a Subsystem Selecting Multiple Subsystems Programming Getting Started Referencing the IO Library 70 71 72 73 Opening the Oscilloscope Connection via the IO Library Initia
GPIB Command and Data Concepts 92 Communicating Over the GPIB Interface Interface Select Code 93 Oscilloscope Address 93 93 Communicating Over the LAN Interface 94 Communicating via Telnet and Sockets Telnet 95 Sockets 95 95 Bus Commands 97 Device Clear 97 Group Execute Trigger Interface Clear 97 97 5 Message Communication and System Functions Protocols 100 Functional Elements 100 Protocol Overview 100 Protocol Operation 101 Protocol Exceptions 101 Suffix Multiplier 101 Suffix Unit 102 6 Status R
Trigger Armed Event Register Auto Trigger Event Register Error Queue 121 122 123 Output Queue 124 Message Queue 125 Clearing Registers and Queues 126 7 Remote Acquisition Synchronization Programming Flow 128 Setting Up the Oscilloscope Acquiring a Waveform Retrieving Results 129 130 131 Acquisition Synchronization 132 Blocking Synchronization 132 Polling Synchronization With Timeout Single Shot Device Under Test (DUT) Averaging Acquisition Synchronization 132 134 136 8 Programming Conventi
:ACQuire:INTerpolate 155 :ACQuire:MODE 156 :ACQuire:POINts[:ANALog] 158 :ACQuire:POINts:AUTO 161 :ACQuire:POINts:DIGital? 162 :ACQuire:SEGMented:COUNt 163 :ACQuire:SEGMented:INDex 164 :ACQuire:SEGMented:TTAGs 165 :ACQuire:SRATe[:ANALog] 166 :ACQuire:SRATe[:ANALog]:AUTO 168 :ACQuire:SRATe:DIGital 169 :ACQuire:SRATe:DIGital:AUTO 170 10 Bus Commands :BUS:B:TYPE 172 :BUS:BIT 173 :BUS:BITS 174 :BUS:CLEar 175 :BUS:CLOCk 176 :BUS:CLOCk:SLOPe 177 :BUS:DISPlay 178 :BUS:LABel 179 :BUS:R
:CHANnel:INPut 200 :CHANnel:ISIM:APPLy 201 :CHANnel:ISIM:BANDwidth 202 :CHANnel:ISIM:BWLimit 203 :CHANnel:ISIM:CONVolve 204 :CHANnel:ISIM:CORRection 205 :CHANnel:ISIM:DEConvolve 207 :CHANnel:ISIM:DELay 208 :CHANnel:ISIM:NORMalize 210 :CHANnel:ISIM:PEXTraction 211 :CHANnel:ISIM:SPAN 213 :CHANnel:ISIM:STATe 214 :CHANnel:LABel 215 :CHANnel:OFFSet 216 :CHANnel:PROBe 217 :CHANnel:PROBe:ACCAL 218 :CHANnel:PROBe:ATTenuation 219 :CHANnel:PROBe:AUTozero 220 :CHAN
13 Common Commands *CLS *ESE *ESR? *IDN? *LRN? *OPC *OPT? *PSC *RCL *RST *SAV *SRE *STB? *TRG *TST? *WAI 249 250 252 253 254 256 257 260 261 262 263 264 266 268 269 270 14 Digital Commands :DIGital:DISPlay 272 :DIGital:LABel 273 :DIGital:SIZE 274 :DIGital:THReshold 275 15 Disk Commands :DISK:CDIRectory 278 :DISK:COPY 279 :DISK:DELete 280 :DISK:DIRectory? 281 :DISK:LOAD 282 :DISK:MDIRectory 283 :DISK:PWD? 284 :DISK:SAVE:COMPosite 285 :DISK:SAVE:IMAGe 286 :DISK:SAVE:JITTer 287 :DISK:SAVE:LISTin
16 Display Commands :DISPlay:CGRade 296 :DISPlay:CGRade:LEVels? 297 :DISPlay:CGRade:SCHeme 299 :DISPlay:COLumn 301 :DISPlay:CONNect 302 :DISPlay:DATA? 303 :DISPlay:GRATicule 304 :DISPlay:GRATicule:INTensity 305 :DISPlay:GRATicule:NUMBer 306 :DISPlay:GRATicule:SETGrat 307 :DISPlay:GRATicule:SIZE 308 :DISPlay:LABel 309 :DISPlay:LINE 310 :DISPlay:PERSistence 311 :DISPlay:ROW 312 :DISPlay:SCOLor 313 :DISPlay:STATus:COL 315 :DISPlay:STATus:ROW 316 :DISPlay:STRing 317 :DISPlay:TAB 318 :DISPlay:TEXT 319 17 Functi
:FUNCtion:GATing 342 :FUNCtion:HIGHpass 343 :FUNCtion:HORizontal 344 :FUNCtion:HORizontal:POSition 345 :FUNCtion:HORizontal:RANGe 346 :FUNCtion:INTegrate 347 :FUNCtion:INVert 348 :FUNCtion:LOWPass 349 :FUNCtion:MAGNify 350 :FUNCtion:MAXimum 351 :FUNCtion:MHIStogram 352 :FUNCtion:MINimum 353 :FUNCtion:MTRend 354 :FUNCtion:MULTiply 355 :FUNCtion:OFFSet 356 :FUNCtion:RANGe 357 :FUNCtion:SMOoth 358 :FUNCtion:SQRT 359 :FUNCtion:SQUare 360 :FUNCtion:SUBT
:HISTogram:WINDow:TLIMit 383 20 InfiniiScan (ISCan) Commands :ISCan:DELay 386 :ISCan:MEASurement:FAIL 387 :ISCan:MEASurement:LLIMit 388 :ISCan:MEASurement 389 :ISCan:MEASurement:ULIMit 390 :ISCan:MODE 391 :ISCan:NONMonotonic:EDGE 392 :ISCan:NONMonotonic:HYSTeresis 393 :ISCan:NONMonotonic:SOURce 394 :ISCan:RUNT:HYSTeresis 395 :ISCan:RUNT:LLEVel 396 :ISCan:RUNT:SOURce 397 :ISCan:RUNT:ULEVel 398 :ISCan:SERial:PATTern 399 :ISCan:SERial:SOURce 400 :ISCan:ZONE:HIDE 401 :ISCan:ZONE:SOURce 402 :ISCan:ZONE:MODE
:MARKer:TSTOp 424 :MARKer:VSTArt 425 :MARKer:VSTOp 426 :MARKer:X1Position 427 :MARKer:X2Position 428 :MARKer:X1Y1source 429 :MARKer:X2Y2source 431 :MARKer:XDELta? 433 :MARKer:Y1Position 434 :MARKer:Y2Position 435 :MARKer:YDELta? 436 24 Mask Test Commands :MTESt:ALIGn 439 :MTESt:AlignFIT 440 :MTESt:AMASk:CREate 442 :MTESt:AMASk:SOURce 443 :MTESt:AMASk:SAVE 445 :MTESt:AMASk:UNITs 446 :MTESt:AMASk:XDELta 447 :MTESt:AMASk:YDELta 448 :MTESt:AUTO 449 :MTESt:AVERage 450 :MTESt:AVERage:COUNt 451 :MTESt:COUNt:FAILu
:MTESt:RUMode 469 :MTESt:RUMode:SOFailure 470 :MTESt:SCALe:BIND 471 :MTESt:SCALe:X1 472 :MTESt:SCALe:XDELta 473 :MTESt:SCALe:Y1 474 :MTESt:SCALe:Y2 475 :MTESt:SOURce 476 :MTESt:STARt 477 :MTESt:STOP 478 :MTESt:STIMe 479 :MTESt:TITLe? 480 :MTESt:TRIGger:SOURce 481 25 Measure Commands :MEASure:AREA 492 :MEASure:BINTerval 493 :MEASure:BPERiod 494 :MEASure:BWIDth 495 :MEASure:CDRRATE 496 :MEASure:CGRade:CROSsing 497 :MEASure:CGRade:DCDistortion 498 :MEASure:CGRade:EHEight 499 :MEASure:CGRade:EWIDth 500 :MEASur
:MEASure:CTCJitter 523 :MEASure:CTCNwidth 525 :MEASure:CTCPwidth 527 :MEASure:DATarate 529 :MEASure:DEEMphasis 531 :MEASure:DELTatime 533 :MEASure:DELTatime:DEFine 535 :MEASure:DUTYcycle 537 :MEASure:EDGE 539 :MEASure:ETOedge 541 :MEASure:FALLtime 542 :MEASure:FFT:DFRequency 544 :MEASure:FFT:DMAGnitude 546 :MEASure:FFT:FREQuency 548 :MEASure:FFT:MAGNitude 549 :MEASure:FFT:PEAK1 550 :MEASure:FFT:PEAK2 551 :MEASure:FFT:THReshold 552 :MEASure:FREQuency 553 :MEASure:HISTogram:HITS 555 :MEASure:HISTogram:M1S 556
:MEASure:JITTer:SPECtrum:VERTical:TYPE 579 :MEASure:JITTer:SPECtrum:WINDow 580 :MEASure:JITTer:STATistics 581 :MEASure:JITTer:TRENd 582 :MEASure:JITTer:TRENd:SMOoth 583 :MEASure:JITTer:TRENd:SMOoth:POINts 584 :MEASure:JITTer:TRENd:VERTical 585 :MEASure:JITTer:TRENd:VERTical:OFFSet 586 :MEASure:JITTer:TRENd:VERTical:RANGe 587 :MEASure:NAME 588 :MEASure:NCJitter 589 :MEASure:NOISe 591 :MEASure:NOISe:ALL? 592 :MEASure:NOISe:BANDwidth 594 :MEASure:NOISe:LOCation 595 :MEASure:NOISe:METHod 596 :MEASure:NOISe:REPo
:MEASure:RJDJ:BER 633 :MEASure:RJDJ:CLOCk 635 :MEASure:RJDJ:EDGE 636 :MEASure:RJDJ:INTerpolate 637 :MEASure:RJDJ:METHod 638 :MEASure:RJDJ:MODe 639 :MEASure:RJDJ:PLENgth 640 :MEASure:RJDJ:REPort 641 :MEASure:RJDJ:RJ 642 :MEASure:RJDJ:SCOPe:RJ 643 :MEASure:RJDJ:SOURce 644 :MEASure:RJDJ:STATe 645 :MEASure:RJDJ:TJRJDJ? 646 :MEASure:RJDJ:UNITs 647 :MEASure:SCRatch 648 :MEASure:SENDvalid 649 :MEASure:SETuptime 650 :MEASure:SLEWrate 652 :MEASure:SOURce 653 :MEASure:STATistics 654 :MEASure:TEDGe 655 :MEASure:THResh
:MEASure:THResholds:SERial:TOPBase:METHod 699 :MEASure:THResholds:TOPBase:ABSolute 701 :MEASure:THResholds:TOPBase:METHod 703 :MEASure:TIEClock2 705 :MEASure:TIEData 707 :MEASure:TIEFilter:SHAPe 709 :MEASure:TIEFilter:STARt 710 :MEASure:TIEFilter:STATe 711 :MEASure:TIEFilter:STOP 712 :MEASure:TIEFilter:TYPE 713 :MEASure:TMAX 714 :MEASure:TMIN 715 :MEASure:TVOLt 716 :MEASure:UITouijitter 718 :MEASure:UNITinterval 719 :MEASure:VAMPlitude 721 :MEASure:VAVerage 722 :MEASure:VBASe 724 :MEASure:VLOWer 725 :MEASur
:ASTate? 755 :ATER? 756 :AUToscale 757 :AUToscale:CHANnels 758 :AUToscale:PLACement 759 :AUToscale:VERTical 760 :BEEP 761 :BLANk 762 :CDISplay 763 :DIGitize 764 :DISable DIGital 766 :ENABle DIGital 767 :MODel? 768 :MTEE 769 :MTER? 770 :OPEE 771 :OPER? 772 :OVLRegister? 773 :PDER? 774 :PRINt 775 :RECall:SETup 776 :RSTate? 777 :RUN 778 :SERial 779 :SINGle 780 :STATus? 781 :STOP 783 :STORe:JITTer 784 :STORe:SETup 785 :STORe:WAVeform 786 :TER? 787 :VIEW 788 28 Serial Bus Commands General :SBUS Commands :SBU
:SBUS:CAN:SOURce 797 :SBUS:CAN:TRIGger 798 :SBUS:CAN:TRIGger:PATTern:DATA 800 :SBUS:CAN:TRIGger:PATTern:DATA:LENGth 801 :SBUS:CAN:TRIGger:PATTern:ID 802 :SBUS:CAN:TRIGger:PATTern:ID:MODE 803 :SBUS:IIC Commands 804 :SBUS:IIC:ASIZe 805 :SBUS:IIC:SOURce:CLOCk 806 :SBUS:IIC:SOURce:DATA 807 :SBUS:IIC:TRIGger:PATTern:ADDRess 808 :SBUS:IIC:TRIGger:PATTern:DATA 809 :SBUS:IIC:TRIGger:TYPE 810 :SBUS:SPI Commands 812 :SBUS:SPI:BITorder 813 :SBUS:SPI:CLOCk:SLOPe 814 :SBUS
:SPRocessing:CTLequalizer:RATe 842 :SPRocessing:CTLequalizer:VERTical 843 :SPRocessing:CTLequalizer:VERTical:OFFSet 844 :SPRocessing:CTLequalizer:VERTical:RANGe 845 :SPRocessing:CTLequalizer:ZERo 846 :SPRocessing:DFEQualizer:STATe 847 :SPRocessing:DFEQualizer:SOURce 848 :SPRocessing:DFEQualizer:NTAPs 849 :SPRocessing:DFEQualizer:TAP 850 :SPRocessing:DFEQualizer:TAP:WIDTh 851 :SPRocessing:DFEQualizer:TAP:DELay 852 :SPRocessing:DFEQualizer:TAP:MAX 853 :SPRocessing:DFEQualizer:TAP:MIN 854 :SPRocessing:DFEQuali
:SYSTem:LOCK 884 :SYSTem:LONGform 885 :SYSTem:PRESet 886 :SYSTem:SETup 887 :SYSTem:TIME 889 32 Time Base Commands :TIMebase:POSition 892 :TIMebase:RANGe 893 :TIMebase:REFClock 894 :TIMebase:REFerence 895 :TIMebase:ROLL:ENABLE 896 :TIMebase:SCALe 897 :TIMebase:VIEW 898 :TIMebase:WINDow:DELay 899 :TIMebase:WINDow:POSition 900 :TIMebase:WINDow:RANGe 901 :TIMebase:WINDow:SCALe 902 33 Trigger Commands General Trigger Commands 905 :TRIGger:AND:ENABle 906 :TRIGger:AND:SOURce 907 :TRIGger:HOLDoff 908 :TRIGger:HOL
:TRIGger:DELay:ARM:SOURce 926 :TRIGger:DELay:ARM:SLOPe 927 :TRIGger:DELay:EDELay:COUNt 928 :TRIGger:DELay:EDELay:SOURce 929 :TRIGger:DELay:EDELay:SLOPe 930 :TRIGger:DELay:MODE 931 :TRIGger:DELay:TDELay:TIME 932 :TRIGger:DELay:TRIGger:SOURce 933 :TRIGger:DELay:TRIGger:SLOPe 934 Edge Trigger Commands 935 :TRIGger:EDGE:COUPling 936 :TRIGger:EDGE:SLOPe 937 :TRIGger:EDGE:SOURce 938 Glitch Trigger Commands 939 :TRIGger:GLITch:POLarity 940 :TRIGger:GLITch:SOURce 941 :TRIGger:GLITch:WIDTh 942 Pattern Trigger Comman
:TRIGger:STATe:CLOCk :TRIGger:STATe:LOGic :TRIGger:STATe:LTYPe :TRIGger:STATe:SLOPe 965 966 967 968 Timeout Trigger Commands 969 :TRIGger:TIMeout:CONDition 970 :TRIGger:TIMeout:SOURce 971 :TRIGger:TIMeout:TIME 972 Transition Trigger Commands 973 :TRIGger:TRANsition:DIRection 974 :TRIGger:TRANsition:SOURce 975 :TRIGger:TRANsition:TIME 976 :TRIGger:TRANsition:TYPE 977 TV Trigger Commands 978 :TRIGger:TV:LINE 979 :TRIGger:TV:MODE 980 :TRIGger:TV:POLarity 981 :TRIGger:TV:SOURce 982 :TRIGger:TV:STANdard 983 :T
:TRIGger:ADVanced:PATTern:THReshold:LEVel 1005 :TRIGger:ADVanced:PATTern:THReshold:POD 1006 Advanced State Trigger Commands 1007 :TRIGger:ADVanced:STATe:CLOCk 1009 :TRIGger:ADVanced:STATe:LOGic 1010 :TRIGger:ADVanced:STATe:LTYPe 1011 :TRIGger:ADVanced:STATe:SLOPe 1012 :TRIGger:ADVanced:STATe:THReshold:LEVel 1013 Advanced Delay By Event Trigger Commands 1014 :TRIGger:ADVanced:DELay:EDLY:ARM:SOURce 1016 :TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe 1017 :TRIGger:ADVanced:DELay:EDLY:EVENt:DELay 1018 :TRIGger:ADV
Advanced Setup Violation Trigger Commands 1050 :TRIGger:ADVanced:VIOLation:SETup:MODE 1053 :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce 1054 :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel 1055 :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE 1056 :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce 1057 :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold 1058 :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold 1059 :TRIGger:ADVanced:VIOLation:SETup:SETup:TIME 1060 :TRIGger:ADVanced:VI
:WAVeform:SEGMented:ALL 1122 :WAVeform:SEGMented:COUNt? 1123 :WAVeform:SEGMented:TTAG? 1124 :WAVeform:SEGMented:XLISt? 1125 :WAVeform:SOURce 1126 :WAVeform:STReaming 1128 :WAVeform:TYPE? 1129 :WAVeform:VIEW 1130 :WAVeform:XDISplay? 1132 :WAVeform:XINCrement? 1133 :WAVeform:XORigin? 1134 :WAVeform:XRANge? 1135 :WAVeform:XREFerence? 1136 :WAVeform:XUNits? 1137 :WAVeform:YDISplay? 1138 :WAVeform:YINCrement? 1139 :WAVeform:YORigin? 1140 :WAVeform:YRANge? 1141 :WAVeform:YREFerence? 1142 :WAVeform:YUNits? 1143 3
Device- or Oscilloscope-Specific Error Query Error 1166 1167 List of Error Messages 1168 38 Sample Programs VISA COM Examples 1174 VISA COM Example in Visual Basic 1174 VISA COM Example in C# 1185 VISA COM Example in Visual Basic .NET 1195 VISA COM Example in Python 1205 VISA Examples 1213 VISA Example in C 1213 VISA Example in Visual Basic 1222 VISA Example in C# 1232 VISA Example in Visual Basic .
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 1 What's New What's New in Version 4.60 What's New in Version 4.50 What's New in Version 4.30 What's New in Version 4.20 What's New in Version 4.10 What's New in Version 3.50 What's New in Version 3.20 What's New in Version 3.11 What's New in Version 3.
1 What's New What's New in Version 4.60 New command descriptions for Version 4.60 of the Infiniium 9000 Series oscilloscope software appear below. New Commands 32 Command Description :ASTate? (see page 755) Returns the acquisition state. :CHANnel:ISIM:NORMali ze (see page 210) Lets you normalize the gain of an InfiniiSim transfer function. :RSTate? (see page 777) Returns the run state.
1 What's New What's New in Version 4.50 New command descriptions for Version 4.50 of the Infiniium 9000 Series oscilloscope software appear below. New Commands Changed Commands Command Description :FUNCtion:ADEMod (see page 327) Sets the math function to show the amplitude envelope for an amplitude modulated (AM) input signal. :MEASurement:NAME (see page 743) Lets you give specific names to measurements displayed on the oscilloscope's screen.
1 What's New What's New in Version 4.30 New command descriptions for Version 4.30 of the Infiniium 9000 Series oscilloscope software appear below. New Commands Changed Commands 34 Command Description :FUNCtion:DELay (see page 330) Defines a function waveform that is the source waveform delayed in time. :FUNCtion:GATing (see page 342) Defines a horizontal gating function of another waveform (similar to horizontal zoom).
1 What's New What's New in Version 4.20 New command descriptions for Version 4.20 of the Infiniium 9000 Series oscilloscope software appear below. New Commands Changed Commands Obsolete Commands Command Description :DISPlay:CGRade:SCHeme (see page 299) Lets you set the color grade scheme to CLASsic or TEMP. :FUNCtion:FFT:TDELay (see page 337) Sets the time delay for the FFT phase function.
1 What's New What's New in Version 4.10 New command descriptions for Version 4.10 of the Infiniium 9000 Series oscilloscope software appear below. New Commands Changed Commands 36 Command Description :MEASure:NOISe:METHod (see page 596) Lets you select the method for random noise (RN) analysis, either the SPECtral method or BOTH the spectral and tail fit methods.
1 What's New What's New in Version 3.50 New command descriptions for Version 3.50 of the Infiniium 9000 Series oscilloscope software appear below. New Commands Command Description :CHANnel:PROBe:AUToze ro (see page 220) Initiates the N2893A probe's auto degauss/ offset cal. :CHANnel:PROBe:HEAD: VTERm (see page 233) Sets the termination voltage for the N5444A probe head. :CHANnel:PROBe:MODE (see page 235) Sets the N2750A probe's InfiniiMode configuration.
1 What's New Changed Commands 38 Command Description :MEASure:RJDJ:SCOPe:RJ (see page 643) Specifies the removal of the oscilloscope's calibrated random jitter from the reported RJ. :SBUS Commands (see page 789) For setting up IIC and SPI serial decode and triggering. Command Description :CHANnel:PROBe:HEAD: SELect (see page 232) Now lets you select probe heads by the labels given with the :CHANnel:PROBe:HEAD:ADD command.
1 What's New What's New in Version 3.20 New command descriptions for Version 3.20 of the Infiniium 9000 Series oscilloscope software appear below. New Commands Command Description :MARKer:MEASurement:MEA Surement (see page 421) Specifies which measurement markers track (when the :MARKer:MODE is set to MEASurement). :MEASure:CLOCk:METHod:AL IGn (see page 509) Lets you specify clock edges either center aligned with data or edge aligned with data when using an explicit method of clock recovery.
1 What's New What's New in Version 3.11 New command descriptions for Version 3.11 of the Infiniium 9000 Series oscilloscope software appear below. New Commands Changed Commands 40 Command Description :CHANnel:ISIM:PEXTracti on (see page 211) Selects a channel's InfiniiSim port extraction. :CHANnel:PROBe:ACCal (see page 218) Sets the type of AC response probe calibration to use.
1 What's New What's New in Version 3.10 New command descriptions for Version 3.10 of the Infiniium 9000 Series oscilloscope software appear below. New Commands Changed Commands Command Description :ACQuire:BANDwidth (see page 150) Changes the bandwidth frequency control for the acquisition system. :DISPlay:STATus:COL (see page 315) Used to position the real time eye and InfiniiScan Zone Trigger status labels.
1 42 What's New Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 2 Setting Up Step 1. Install Agilent IO Libraries Suite software 44 Step 2. Connect and set up the oscilloscope 45 Step 3. Verify the oscilloscope connection 46 This chapter explains how to install the Agilent IO Libraries Suite software on a controller PC, connect the oscilloscope to the controller PC, set up the oscilloscope, and verify the oscilloscope connection.
2 Setting Up Step 1. Install Agilent IO Libraries Suite software To install the Agilent IO Libraries Suite software on a controller PC: 1 Download the Agilent IO Libraries Suite software from the Agilent web site at: • "http://www.agilent.com/find/iolib" 2 Run the setup file, and follow its installation instructions. Note that Agilent IO Libraries Suite software comes installed on Infiniium oscilloscopes.
2 Setting Up Step 2. Connect and set up the oscilloscope The Infiniium 9000A Series oscilloscope has three different interfaces you can use for programming: • USB (device port, square connector). • LAN. To configure the LAN interface, set up the Infiniium oscilloscope on the network as you would any other computer with the Windows XP operating system. • GPIB, when the N4865A GPIB- to- LAN adapter is used. The 9000A Series oscilloscope is not equipped with a GPIB interface connector.
2 Setting Up Step 3. Verify the oscilloscope connection NOTE Make sure the Agilent Infiniium software is running on the oscilloscope. It must be running before you can make a connection. 1 On the controller PC, click on the Agilent IO Control icon in the taskbar and choose Agilent Connection Expert from the popup menu. 2 In the Agilent Connection Expert application, instruments connected to the controller's USB and GPIB interfaces should automatically appear.
Setting Up 2 You must manually add instruments on LAN interfaces: a Right- click on the LAN interface, choose Add Instrument from the popup menu b If the oscilloscope is on the same subnet, select it, and click OK.
2 Setting Up Otherwise, if the instrument is not on the same subnet, click Add Address. i In the next dialog, select either Hostname or IP address, and enter the oscilloscope's hostname or IP address. ii Click Test Connection. iii If the instrument is successfully opened, click OK to close the dialog. If the instrument is not opened successfully, go back and verify the LAN connections and the oscilloscope setup.
2 Setting Up 3 Test some commands on the instrument: a Right- click on the instrument and choose Send Commands To This Instrument from the popup menu. b In the Agilent Interactive IO application, enter commands in the Command field and press Send Command, Read Response, or Send&Read. c Choose Connect > Exit from the menu to exit the Agilent Interactive IO application. 4 In the Agilent Connection Expert application, choose File > Exit from the menu to exit the application.
2 50 Setting Up Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 3 Introduction to Programming Communicating with the Oscilloscope 53 Instructions 54 Instruction Header 55 White Space (Separator) 56 Braces 57 Ellipsis 58 Square Brackets 59 Command and Query Sources 60 Program Data 61 Header Types 62 Query Headers 64 Program Header Options 65 Character Program Data 66 Numeric Program Data 67 Embedded Strings 68 Program Message Terminator 69 Common Commands within a Subsystem 70 Selecting Multiple Subsyste
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.
3 Introduction to Programming Communicating with the Oscilloscope Computers communicate with the oscilloscope by sending and receiving messages over a remote interface, such as a GPIB card (must order the N4865A GPIB- to- LAN adapter) or a Local Area Network (LAN) card. Commands for programming normally appear as ASCII character strings embedded inside the output statements of a "host" language available on your computer.
3 Introduction to Programming Instructions Instructions, both commands and queries, normally appear as strings embedded in a statement of your host language, such as Visual Basic for Applications (VBA), Visual Basic .NET, C#, C, etc. The only time a parameter is not meant to be expressed as a string is when the instruction's syntax definition specifies , such as with the :SYSTem:SETup command. There are only a few instructions that use block data.
Introduction to Programming 3 Instruction Header The instruction header is one or more command mnemonics separated by colons (:). They represent the operation to be performed by the oscilloscope. See Chapter 8, “Programming Conventions,” starting on page 137 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.
3 Introduction to Programming White Space (Separator) White space is used to separate the instruction header from the program data. If the instruction does not require any program data parameters, you do not need to include any white space. In this manual, white space is defined as one or more spaces. ASCII defines a space to be character 32 in decimal.
Introduction to Programming 3 Braces When several items are enclosed by braces, { }, only one of these elements may be selected. Vertical line ( | ) indicates "or". For example, {ON | OFF} indicates that only ON or OFF may be selected, not both.
3 Introduction to Programming Ellipsis ... An ellipsis (trailing dots) indicates that the preceding element may be repeated one or more times.
Introduction to Programming 3 Square Brackets Items enclosed in square brackets, [ ], are optional.
3 Introduction to Programming Command and Query Sources Many commands and queries require that a source be specified. Depending on the command or query and the model number of Infiniium oscilloscope being used, some of the sources are not available.
Introduction to Programming 3 Program Data Program data is used to clarify the meaning of the command or query. It provides necessary information, such as whether a function should be on or off, or which waveform is to be displayed. Each instruction's syntax definition shows the program data and the values they accept. When there is more than one data parameter, they are separated by commas (,). You can add spaces around the commas to improve readability.
3 Introduction to Programming Header Types There are three types of headers: • "Simple Command Header" on page 62 • "Compound Command Header" on page 62 • "Common Command Header" on page 63 See Also • "Combining Commands in the Same Subsystem" on page 63 • "Duplicate Mnemonics" on page 63 Simple Command Header Simple command headers contain a single mnemonic. AUTOSCALE and DIGITIZE are examples of simple command headers typically used in this oscilloscope.
3 Introduction to Programming Combining Commands in the Same Subsystem To execute more than one command within the same subsystem, use a semi- colon (;) to separate the commands: ::; For example: :CHANNEL1:INPUT DC;BWLIMIT ON Common Command Header Common command headers, such as clear status, control the IEEE 488.2 functions within the oscilloscope.
3 Introduction to Programming Query Headers A command header immediately followed by a question mark (?) is a query. After receiving a query, the oscilloscope interrogates the requested subsystem and places the answer in its output queue. The answer remains in the output queue until it is read or until another command is issued. When read, the answer is transmitted across the bus to the designated listener (typically a computer).
3 Introduction to Programming Program Header Options You can send program headers using any combination of uppercase or lowercaseASCII characters. Oscilloscope responses, however, are always returned in uppercase. You may send program command and query headers in either long form (complete spelling), short form (abbreviated spelling), or any combination of long form and short form. For example: ":TIMebase:DELay 1E- 6" is the long form. ":TIM:DEL 1E- 6" is the short form.
3 Introduction to Programming Character Program Data Character program data is used to convey parameter information as alpha or alphanumeric strings. For example, the :TIMEBASE:REFERENCE command can be set to left, center, or right. The character program data in this case may be LEFT, CENTER, or RIGHT. The command :TIMEBASE:REFERENCE RIGHT sets the time base reference to right. The available mnemonics for character program data are always included with the instruction's syntax definition.
3 Introduction to Programming Numeric Program Data Some command headers require program data to be expressed numerically. For example, :TIMEBASE:RANGE requires the desired full- scale range to be expressed numerically. For numeric program data, you can use exponential notation or suffix multipliers to indicate the numeric value. The following numbers are all equal: 28 = 0.28E2 = 280E- 1 = 28000m = 0.
3 Introduction to Programming Embedded Strings Embedded strings contain groups of alphanumeric characters which are treated as a unit of data by the oscilloscope. An example of this is the line of text written to the advisory line of the oscilloscope with the :SYSTEM:DSP command: :SYSTEM:DSP ""This is a message."" You may delimit embedded strings with either single (') or double (") quotation marks. These strings are case- sensitive, and spaces are also legal characters.
Introduction to Programming 3 Program Message Terminator The program instructions within a data message are executed after the program message terminator is received. The terminator may be either an NL (New Line) character, an EOI (End- Or- Identify) asserted in the GPIB interface, or a combination of the two. Asserting the EOI sets the EOI control line low on the last byte of the data message. The NL character is an ASCII linefeed (decimal 10).
3 Introduction to Programming Common Commands within a Subsystem Common commands can be received and processed by the oscilloscope whether they are sent over the bus as separate program messages or within other program messages. If you have selected a subsystem, and a common command is received by the oscilloscope, the oscilloscope remains in the selected subsystem.
Introduction to Programming 3 Selecting Multiple Subsystems You can send multiple program commands and program queries for different subsystems on the same line by separating each command with a semicolon. The colon following the semicolon lets you enter a new subsystem. For example: ;: :CHANNEL1:RANGE 0.
3 Introduction to Programming Programming Getting Started The remainder of this chapter explains how to set up the oscilloscope, how to retrieve setup information and measurement results, how to digitize a waveform, and how to pass data to the computer. Chapter 25, “Measure Commands,” starting on page 483 describes getting measurement data from the oscilloscope.
3 Introduction to Programming Referencing the IO Library No matter which instrument programming library you use (SICL, VISA, or VISA COM), you must reference the library from your program. In C/C++, you must tell the compiler where to find the include and library files (see the Agilent IO Libraries Suite documentation for more information). To reference the Agilent VISA COM library in Visual Basic for Applications (VBA, which comes with Microsoft Office products like Excel): 1 Choose Tools > References...
3 Introduction to Programming Opening the Oscilloscope Connection via the IO Library PC controllers communicate with the oscilloscope by sending and receiving messages over a remote interface. Once you have opened a connection to the oscilloscope over the remote interface, programming instructions normally appear as ASCII character strings embedded inside write statements of the programing language. Read statements are used to read query responses from the oscilloscope.
3 Introduction to Programming Initializing the Interface and the Oscilloscope To make sure the bus and all appropriate interfaces are in a known state, begin every program with an initialization statement. When using the Agilent VISA COM library, you can use the resource session object's Clear method to clears the interface buffer: Dim myMgr As VisaComLib.ResourceManager Dim myScope As VisaComLib.FormattedIO488 Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.
3 Introduction to Programming Setting Up the Oscilloscope A typical oscilloscope setup configures the vertical range and offset voltage, the horizontal range, delay time, delay reference, trigger mode, trigger level, and slope. A typical example of the commands sent to the oscilloscope are: :CHANNEL1:PROBE 10; RANGE 16;OFFSET 1.00 :SYSTEM:HEADER OFF :TIMEBASE:RANGE 1E-3;DELAY 100E-6 This example sets the time base at 1 ms full- scale (100 μs/div), with delay of 100 μs.
3 Introduction to Programming Example Program This program demonstrates the basic command structure used to program the oscilloscope. ' Initialize the instrument interface to a known state. myScope.IO.Clear myScope.IO.Timeout = 15000 ' Set interface timeout to 15 seconds. ' Initialize the instrument to a preset state. myScope.WriteString "*RST" ' Set the time base mode to normal with the horizontal time at ' 50 ms/div with 0 s of delay referenced at the center of the ' graticule. myScope.
3 Introduction to Programming Using the DIGITIZE Command The DIGITIZE command is a macro that captures data using the acquisition (ACQUIRE) subsystem. When the digitize process is complete, the acquisition is stopped. You can measure the captured data by using the oscilloscope or by transferring the data to a computer for further analysis. The captured data consists of two parts: the preamble and the waveform data record. After changing the oscilloscope configuration, the waveform buffers are cleared.
Introduction to Programming 3 The easiest method of receiving a digitized waveform depends on data structures, available formatting, and I/O capabilities. You must convert the data values to determine the voltage value of each point. These data values are passed starting with the left most point on the oscilloscope's display. For more information, refer to the chapter, "Waveform Commands." When using GPIB, you may abort a digitize operation by sending a Device Clear over the bus.
3 Introduction to Programming Receiving Information from the Oscilloscope After receiving a query (a command header followed by a question mark), the oscilloscope places the answer in its output queue. The answer remains in the output queue until it is read or until another command is issued. When read, the answer is transmitted across the interface to the computer.
Introduction to Programming 3 String Variable Example The output of the oscilloscope may be numeric or character data depending on what is queried. Refer to the specific commands for the formats and types of data returned from queries. NOTE Express String Variables Using Exact Syntax In Visual Basic, string variables are case sensitive and must be expressed exactly the same each time they are used. This example shows the data being returned to a string variable: Dim strRang As String myScope.
3 Introduction to Programming Numeric Variable Example This example shows the data being returned to a numeric variable: Dim varRang As Variant myScope.WriteString ":CHANnel1:RANGe?" varRang = myScope.ReadNumber Debug.Print "Channel 1 range: " + FormatNumber(varRang, 0) After running this program, the computer displays: .
Introduction to Programming 3 Definite-Length Block Response Data Definite- length block response data allows any type of device- dependent data to be transmitted over the system interface as a series of 8- bit binary data bytes. This is particularly useful for sending large quantities of data or 8- bit extended ASCII codes. The syntax is a pound sign ( # ) followed by a non- zero digit representing the number of digits in the decimal integer.
3 Introduction to Programming Multiple Queries You can send multiple queries to the instrument within a single command string, but you must also read them back as a single query result. This can be accomplished by reading them back into a single string variable, multiple string variables, or multiple numeric variables. For example, to read the :TIMebase:RANGe?;DELay? query result into a single string variable, you could use the commands: myScope.
Introduction to Programming 3 Oscilloscope Status Status registers track the current status of the oscilloscope. By checking the oscilloscope status, you can find out whether an operation has completed and is receiving triggers. Chapter 6, “Status Reporting,” starting on page 103 explains how to check the status of the oscilloscope.
3 86 Introduction to Programming Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 4 LAN, USB, and GPIB Interfaces LAN Interface Connector 88 GPIB Interface Connector 89 Default Startup Conditions 90 Interface Capabilities 91 GPIB Command and Data Concepts 92 Communicating Over the GPIB Interface 93 Communicating Over the LAN Interface 94 Communicating via Telnet and Sockets 95 Bus Commands 97 There are several types of interfaces that can be used to remotely program the Infiniium oscilloscope including Local Area Networ
4 LAN, USB, and GPIB Interfaces LAN Interface Connector The oscilloscope is equipped with a LAN interface RJ- 45 connector on the rear panel. This allows direct connect to your network. However, before you can use the LAN interface to program the oscilloscope, the network properties must be configured. Unless you are a Network Administrator, you should contact your Network Administrator to add the appropriate client, protocols, and configuration information for your LAN.
LAN, USB, and GPIB Interfaces 4 GPIB Interface Connector The oscilloscope is not equipped with a GPIB interface connector. You can, however, order the N4865A GPIB- to- LAN adapter for the 9000A Series oscilloscope.
4 LAN, USB, and GPIB Interfaces Default Startup Conditions The following default conditions are established during power- up: • The Request Service (RQS) bit in the status byte register is set to zero. • All of the event registers are cleared. • The Standard Event Status Enable Register is set to 0xFF hex. • Service Request Enable Register is set to 0x80 hex. • The Operation Status Enable Register is set to 0xFFFF hex. • The Overload Event Enable Register is set to 0xFF hex.
LAN, USB, and GPIB Interfaces 4 Interface Capabilities The interface capabilities of this oscilloscope, as defined by IEEE 488.1 and IEEE 488.2, are listed in Table 1.
4 LAN, USB, and GPIB Interfaces GPIB Command and Data Concepts The GPIB interface has two modes of operation: command mode and data mode. The interface is in the command mode when the Attention (ATN) control line is true. The command mode is used to send talk and listen addresses and various interface commands such as group execute trigger (GET). The interface is in the data mode when the ATN line is false. The data mode is used to convey device- dependent messages across the bus.
4 LAN, USB, and GPIB Interfaces Communicating Over the GPIB Interface Device addresses are sent by the computer in the command mode to specify who talks and who listens. Because GPIB can address multiple devices through the same interface card, the device address passed with the program message must include the correct interface select code and the correct oscilloscope address.
4 LAN, USB, and GPIB Interfaces Communicating Over the LAN Interface The device address used to send commands and receive data using the LAN interface is located in the Remote Setup dialog box (Utilities > Remote Setup). The following C example program shows how to communicate with the oscilloscope using the LAN interface and the Agilent Standard Instrument Control Library (SICL). #include
4 LAN, USB, and GPIB Interfaces Communicating via Telnet and Sockets • "Telnet" on page 95 • "Sockets" on page 95 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.
4 LAN, USB, and GPIB Interfaces return NULL; } //Create the socket mySocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCOP); if(mySocket == INVALID_SOCKET) { printf("Error at socket(): %ld\\n", WSAGetLastError()); WSACleanup(); return NULL; } sockaddr_in clientService; clientService.sin_family = AF_INET; clientService.sin.addr.s_addr = inet_addr(ipAddress); clientService.sin_port = htons(ipPort); if(connect(mySocket, (SOCKADDR*) &clientService, sizeof(clientService ))) { printf("Failed to connect.
LAN, USB, and GPIB Interfaces 4 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.
4 98 LAN, USB, and GPIB Interfaces Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 5 Message Communication and System Functions Protocols 100 This chapter describes the operation of oscilloscopes that operate in compliance with the IEEE 488.2 (syntax) standard. It is intended to give you enough basic information about the IEEE 488.2 standard to successfully program the oscilloscope. You can find additional detailed information about the IEEE 488.2 standard in ANSI/IEEE Std 488.
5 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.
5 Message Communication and System Functions 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. NOTE Remember this Rule of Oscilloscope Communication The basic rule to remember is that the oscilloscope will only talk when prompted to, and it then expects to talk before being told to do something else.
5 Message Communication and System Functions Table 2 Value Mnemonic Value Mnemonic 1E18 EX 1E-3 M 1E15 PE 1E-6 U 1E12 T 1E-9 N 1E9 G 1E-12 P 1E6 MA 1E-15 F 1E3 K 1E-18 A Suffix Unit The suffix units that the oscilloscope will accept are shown in Table 3.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 6 Status Reporting Status Reporting Data Structures 106 Status Byte Register 108 Service Request Enable Register 110 Message Event Register 111 Trigger Event Register 112 Standard Event Status Register 113 Standard Event Status Enable Register 114 Operation Status Register 115 Operation Status Enable Register 116 Mask Test Event Register 117 Mask Test Event Enable Register 118 Acquisition Done Event Register 119 Process Done Event Register
6 Status Reporting The Status Byte Register, the Standard Event Status Register group, and the Output Queue are defined as the Standard Status Data Structure Model in IEEE 488.2- 1987. IEEE 488.2 defines data structures, commands, and common bit definitions for status reporting. There are also oscilloscope- defined structures and bits. Figure 1 Status Reporting Overview Block Diagram The status reporting structure consists of the registers shown here.
6 Status Reporting Table 4 Status Reporting Bit Definition (continued) Bit Description Definition DDE Device Dependent Error Indicates if the device was unable to complete an operation for device-dependent reasons. QYE Query Error Indicates if the protocol for queries has been violated. RQL Request Control Indicates if the device is requesting control. OPC Operation Complete Indicates if the device has completed all pending operations.
6 Status Reporting Status Reporting Data Structures The different status reporting data structures, descriptions, and interactions are shown in Figure 2. To make it possible for any of the Standard Event Status Register bits to generate a summary bit, you must enable the corresponding bits. These bits are enabled by using the *ESE common command to set the corresponding bit in the Standard Event Status Enable Register.
Status Reporting Figure 3 6 Status Reporting Data Structures (Continued) Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 107
6 Status Reporting Status Byte Register The Status Byte Register is the summary- level register in the status reporting structure. It contains summary bits that monitor activity in the other status registers and queues. The Status Byte Register is a live register. That is, its summary bits are set and cleared by the presence and absence of a summary bit from other event registers or queues.
6 Status Reporting 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.
6 Status Reporting Service Request Enable Register Setting the Service Request Enable Register bits enables corresponding bits in the Status Byte Register. These enabled bits can then set RQS and MSS (bit 6) in the Status Byte Register. Bits are set in the Service Request Enable Register using the *SRE command, and the bits that are set are read with the *SRE? query. Bit 6 always returns 0. Refer to the Status Reporting Data Structures shown in Figure 2.
Status Reporting 6 Message Event Register This register sets the MSG bit in the status byte register when an internally generated message is written to the advisory line on the oscilloscope. The message is read using the :SYSTEM:DSP? query. Note that messages written to the advisory line on the oscilloscope using the :SYSTEM:DSP command does not set the MSG status bit.
6 Status Reporting Trigger Event Register This register sets the TRG bit in the status byte register when a trigger event occurs. The trigger event register stays set until it is cleared by reading the register with the TER? query or by using the *CLS (clear status) command. If your application needs to detect multiple triggers, the trigger event register must be cleared after each one.
6 Status Reporting Standard Event Status Register The Standard Event Status Register (SESR) monitors the following oscilloscope status events: • PON - Power On • CME - Command Error • EXE - Execution Error • DDE - Device Dependent Error • QYE - Query Error • RQC - Request Control • OPC - Operation Complete When one of these events occurs, the corresponding bit is set in the register.
6 Status Reporting Standard Event Status Enable Register For any of the Standard Event Status Register bits to generate a summary bit, you must first enable the bit. Use the *ESE (Event Status Enable) common command to set the corresponding bit in the Standard Event Status Enable Register. Set bits are read with the *ESE? query. Example Suppose your application requires an interrupt whenever any type of error occurs.
Status Reporting 6 Operation Status Register This register hosts the following bits: • ACQ DONE bit 0 • PROC DONE bit 1 • WAIT TRIG bit 5 • MASK bit 9 • AUTO TRIG bit 11 • OVLR bit 12 The ACQ DONE done bit is set by the Acquisition Done Event Register. The PROC DONE bit is set by the Process Done Event Register and indicates that all functions and all math processes are done. The WAIT TRIG bit is set by the Trigger Armed Event Register and indicates the trigger is armed.
6 Status Reporting Operation Status Enable Register For any of the Operation Status Register bits to generate a summary bit, you must first enable the bit. Use the OPEE (Operation Event Status Enable) command to set the corresponding bit in the Operation Status Enable Register. Set bits are read with the OPEE? query. Example Suppose your application requires an interrupt whenever any event occurs in the mask test register. The error status bit in the Operation Status Register is bit 9.
Status Reporting 6 Mask Test Event Register This register hosts the following bits: • Mask Test Complete bit (bit 0) • Mask Test Fail bit (bit 1) • Mask Low Amplitude bit (bit 2) • Mask High Amplitude bit (bit 3) • Mask Align Complete bit (bit 4) • Mask Align Fail bit (bit 5) The Mask Test Complete bit is set whenever the mask test is complete. The Mask Test Fail bit is set whenever the mask test failed. The Mask Low Amplitude bit is set whenever the signal is below the mask amplitude.
6 Status Reporting Mask Test Event Enable Register For any of the Mask Test Event Register bits to generate a summary bit, you must first enable the bit. Use the MTEE (Mask Test Event Enable) command to set the corresponding bit in the Mask Test Event Enable Register. Set bits are read with the MTEE? query. Example Suppose your application requires an interrupt whenever a Mask Test Fail occurs in the mask test register. You can enable this bit to generate the summary bit by sending: myScope.
6 Status Reporting Acquisition Done Event Register The Acquisition Done Event Register (ACQ DONE) sets bit 0 (ACQ DONE bit) in the Operation Status Register when the oscilloscope acquisition is completed. The ACQ DONE event register stays set until it is cleared by reading the register by a ADER? query. If your application needs to detect multiple acquisitions, the ACQ DONE event register must be cleared after each acquisition.
6 Status Reporting Process Done Event Register The Process Done Event Register (PDER) sets bit 1 (PROC DONE) of the Operation Status Register when all functions and all math operations are completed. The PDER bit stays set until cleared by a PDER? query.
6 Status Reporting Trigger Armed Event Register The Trigger Armed Event Register (TDER) sets bit 5 (WAIT TRIG) in the Operation Status Register when the oscilloscope becomes armed. The ARM event register stays set until it is cleared by reading the register with the AER? query. If your application needs to detect multiple triggers, the ARM event register must be cleared after each one.
6 Status Reporting Auto Trigger Event Register The Auto Trigger Event Register (AUTO TRIG) sets bit 11 (AUTO TRIG) in the Operation Status Register when an auto trigger event occurs. The AUTO TRIG register stays set until it is cleared by reading the register with the ATER? query. If the application needs to detect multiple auto trigger events, the AUT TRIG register must be cleared after each one.
Status Reporting 6 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).
6 Status Reporting Output Queue The output queue stores the oscilloscope- to- controller responses that are generated by certain oscilloscope commands and queries. The output queue generates the Message Available summary bit when the output queue contains one or more bytes. This summary bit sets the MAV bit (bit 4) in the Status Byte Register. When using the Agilent VISA COM library, the output queue may be read with the FormattedIO488 object's ReadString, ReadNumber, ReadList, or ReadIEEEBlock methods.
Status Reporting 6 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.
6 Status Reporting Clearing Registers and Queues The *CLS common command clears all event registers and all queues except the output queue. If *CLS is sent immediately following a program message terminator, the output queue is also cleared. no Do you want to do status reporting? yes Reset the instrument and clear the status registers: myScope.WriteString "*RST" myScope.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 7 Remote Acquisition Synchronization Programming Flow 128 Setting Up the Oscilloscope 129 Acquiring a Waveform 130 Retrieving Results 131 Acquisition Synchronization 132 Single Shot Device Under Test (DUT) 134 Averaging Acquisition Synchronization 136 When remotely controlling an oscilloscope with SCPI commands, it is often necessary to know when the oscilloscope has finished the previous operation and is ready for the next SCPI command.
7 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 128 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Remote Acquisition Synchronization 7 Setting Up the Oscilloscope Before making changes to the oscilloscope setup, it is best to make sure it is stopped using the :STOP command followed by the *OPC? command. NOTE It is not necessary to use the *OPC? command, hard coded waits, or status checking when setting up the oscilloscope. After the oscilloscope is configured, it is ready for an acquisition.
7 Remote Acquisition Synchronization Acquiring a Waveform When acquiring a waveform, there are two possible methods used to wait for the acquisition to complete. These methods are blocking and polling. The table below details when each method should be chosen and why. Blocking Wait Polling Wait Use When You know the oscilloscope will trigger based on the oscilloscope setup and device under test. You know the oscilloscope may or may not trigger based on the oscilloscope setup and device under test.
7 Remote Acquisition Synchronization Retrieving Results Once the acquisition is complete, it is safe to retrieve measurements and statistics.
7 Remote Acquisition Synchronization Acquisition Synchronization • "Blocking Synchronization" on page 132 • "Polling Synchronization With Timeout" on page 132 Blocking Synchronization Use the :DIGitize command to start the acquisition. This blocks subsequent queries until the acquisition and processing is complete.
Remote Acquisition Synchronization 7 :MEASURE:RISETIME? } Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 133
7 Remote Acquisition Synchronization Single Shot Device Under Test (DUT) The examples in the previous section (Acquisition Synchronization) assumed the DUT is continually running and, therefore, the oscilloscope will have more than one opportunity to trigger. With a single shot DUT, there is only one opportunity for the oscilloscope to trigger so it is necessary for the oscilloscope to be armed and ready before the DUT is enabled.
Remote Acquisition Synchronization 7 :MEASURE:RISETIME? } Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 135
7 Remote Acquisition Synchronization Averaging Acquisition Synchronization When averaging, it is necessary to know when the average count has been reached. Since an ADER/PDER event occurs for every acquisition in the average count, these commands cannot be used. The :SINGle command does not average. If it is known that a trigger will occur, a :DIG will acquire the complete number of averages, but if the number of averages is large, it may cause a timeout on the connection.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 8 Programming Conventions Truncation Rule 138 The Command Tree 139 Infinity Representation 142 Sequential and Overlapped Commands 143 Response Generation 144 EOI 145 This chapter describes conventions used to program the Infiniium- Series Oscilloscopes, and conventions used throughout this manual. A description of the command tree and command tree traversal is also included.
8 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. NOTE Command Truncation Rule The mnemonic is the first four characters of the keyword, unless the fourth character is a vowel. Then the mnemonic is the first three characters of the keyword.
8 Programming Conventions The Command Tree The command tree in this document's table of contents shows all of the commands in the Infiniium- Series Oscilloscopes and the relationship of the commands to each other. The IEEE 488.2 common commands are not part of the command tree because they do not affect the position of the parser within the tree.
8 Programming Conventions NOTE Tree Traversal Rules A leading colon or a program message terminator ( or EOI true on the last byte) places the parser at the root of the command tree. A leading colon is a colon that is the first character of a program header. Executing a subsystem command places the oscilloscope in that subsystem until a leading colon or a program message terminator is found. In the command tree, use the last mnemonic in the compound header as a reference point (for example, RANGE).
Programming Conventions 8 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.
8 Programming Conventions Infinity Representation The representation for infinity for this oscilloscope is 9.99999E+37. This is also the value returned when a measurement cannot be made.
Programming Conventions 8 Sequential and Overlapped Commands IEEE 488.2 makes a distinction between sequential and overlapped commands. Sequential commands finish their task before the execution of the next command starts. Overlapped commands run concurrently. Commands following an overlapped command may be started before the overlapped command is completed.
8 Programming Conventions 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.
Programming Conventions 8 EOI The EOI bus control line follows the IEEE 488.2 standard without exception.
8 146 Programming Conventions Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 9 Acquire Commands :ACQuire:AVERage 148 :ACQuire[:AVERage]:COUNt 149 :ACQuire:BANDwidth 150 :ACQuire:COMPlete 151 :ACQuire:COMPlete:STATe 153 :ACQuire:HRESolution 154 :ACQuire:INTerpolate 155 :ACQuire:MODE 156 :ACQuire:POINts[:ANALog] 158 :ACQuire:POINts:AUTO 161 :ACQuire:POINts:DIGital? 162 :ACQuire:SEGMented:COUNt 163 :ACQuire:SEGMented:INDex 164 :ACQuire:SEGMented:TTAGs 165 :ACQuire:SRATe[:ANALog] 166 :ACQuire:SRATe[:ANALog]:AUTO 168 :AC
9 Acquire Commands :ACQuire:AVERage Command :ACQuire:AVERage {{ON|1} | {OFF|0}} The :ACQuire:AVERage command enables or disables averaging. When ON, the oscilloscope acquires multiple data values for each time bucket, and averages them. When OFF, averaging is disabled. To set the number of averages, use the :ACQuire:AVERage:COUNt command described next. Averaging is not available in PDETect, PDETect, SEGMented, SEGPdetect, or SEGHres modes.
Acquire Commands 9 :ACQuire[:AVERage]:COUNt Command :ACQuire[:AVERage]:COUNt The :ACQuire[:AVERage]:COUNt command sets the number of averages for the waveforms. In the AVERage mode, the :ACQuire[:AVERage]:COUNt command specifies the number of data values to be averaged for each time bucket before the acquisition is considered complete for that time bucket. The :MTESt:AVERage:COUNt command performs the same function as this command.
9 Acquire Commands :ACQuire:BANDwidth (Enhanced bandwidth or noise reduction option only) Command NOTE This command is only available with Enhanced Bandwidth or Noise Reduction options. :ACQuire:BANDwidth {AUTO | } The :ACQuire:BANDwidth command changes the bandwidth frequency control for the acquisition system. AUTO Sets the oscilloscope to the hardware bandwidth limit and disables the bandwidth filter.
9 Acquire Commands :ACQuire:COMPlete Command :ACQuire:COMPlete The :ACQuire:COMPlete command specifies how many of the data point storage bins (time buckets) in the waveform record must contain a waveform sample before a measurement will be made. For example, if the command :ACQuire:COMPlete 60 has been sent, 60% of the storage bins in the waveform record must contain a waveform data sample before a measurement is made.
9 Acquire Commands 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.
9 Acquire Commands :ACQuire:COMPlete:STATe Command :ACQuire:COMPlete:STATe {{ON | 1} | {OFF | 0}} The :ACQuire:COMPlete:STATe command specifies the state of the :ACQuire:COMPlete mode. This mode is used to make a tradeoff between how often equivalent time waveforms are measured, and how much new data is included in the waveform record when a measurement is made. This command has no effect when the oscilloscope is in real time mode because the entire record is filled on every trigger.
9 Acquire Commands :ACQuire:HRESolution Command :ACQuire:HRESolution {AUTO | BITS9 | BITS10 | BITS11 | BITS12} When :ACQuire:MODE is set to HRESolution or SEGHres, the :ACQuire:HRESolution command sets the desired minimum bit resolution. • AUTO — the number of bits of vertical resolution is determined by the sampling rate, which can be controlled manually by the :ACQuire:SRATe:ANALog command or automatically when adjusting :TIMebase:SCALe (or :TIMebase:RANGe).
9 Acquire Commands :ACQuire:INTerpolate Command :ACQuire:INTerpolate {{ON | 1} | {OFF | 0} | INT1 | INT2 | INT4 | INT8 | INT16} The :ACQuire:INTerpolate command turns the sin(x)/x interpolation filter on or off when the oscilloscope is in one of the real time sampling modes. You can also specify the 1, 2, 4, 8, or 16 point Sin(x)/x interpolation ratios using INT1, INT2, INT4, INT8, or INT16. When ON, the number of interpolation points is automatically determined.
9 Acquire Commands :ACQuire:MODE Command :ACQuire:MODE {ETIMe | RTIMe | PDETect | HRESolution | SEGMented | SEGPdetect | SEGHres} The :ACQuire:MODE command sets the sampling/acquisition mode of the oscilloscope. NOTE In the 9000H Series oscilloscopes, HRESolution and SEGHres are the only valid options. 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.
9 Acquire Commands 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 154.
9 Acquire Commands :ACQuire:POINts[:ANALog] (Memory depth) Command :ACQuire:POINts[:ANALog] {AUTO | } The :ACQuire:POINts[:ANALog] command sets the requested analog memory depth for an acquisition. Before you download data from the oscilloscope to your computer, always query the points value with the :WAVeform:POINts? query or :WAVeform:PREamble? query to determine the actual number of acquired points.
Acquire Commands Table 8 100M Memory Option Installed Sampling mode and sample rate Trigger Sweep Single Normal, Peak Detect, and High Resolution Modes: 4 channel mode 16 to 102.
9 Acquire Commands Interaction between :ACQuire:SRATe[: ANALog] and :ACQuire:POINts[ :ANALog] Example If you assign a sample rate value with :ACQuire:SRATe[:ANALog] or a points value using :ACQuire:POINts[:ANALog] the following interactions will occur. "Manual" means you are setting a non- AUTO value for SRATe or POINts.
9 Acquire Commands :ACQuire:POINts:AUTO Command :ACQuire:POINts:AUTO {{ON | 1} |{OFF | 0}} The :ACQuire:POINts:AUTO command enables (automatic) or disables (manual) the automatic memory depth selection control. When enabled, the oscilloscope chooses a memory depth that optimizes the amount of waveform data and the display update rate. When disabled, you can select the amount of memory using the :ACQuire:POINts command. Example This example sets the automatic memory depth control to off. myScope.
9 Acquire Commands :ACQuire:POINts:DIGital? Query :ACQuire:POINts:DIGital? The :ACQuire:POINts:DIGital query returns the current memory depth for the digital channels (MSO models only).
9 Acquire Commands :ACQuire:SEGMented:COUNt Command :ACQuire:SEGMented:COUNt <#segments> The :ACQuire:SEGMented:COUNt command sets the number of segments to acquire in the segmented memory mode. <#segments> Example An integer representing the number of segments to acquire. This example sets the segmented memory count control to 1000. myScope.WriteString ":ACQUIRE:SEGMented:COUNt 1000" Query :ACQuire:SEGMented:COUNt? The :ACQuire:SEGMented:COUNT? query returns the number of segments control value.
9 Acquire Commands :ACQuire:SEGMented:INDex Command :ACQuire:SEGMented: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.
9 Acquire Commands :ACQuire:SEGMented:TTAGs Command :ACQuire:SEGMented:TTAGs {{ON | 1} | {OFF | 0}} The :ACQuire:SEGMented:TTAGs command turns the time tags feature on or off for the segmented memory sampling mode. Example This example turns the time tags on for segmented memory. myScope.WriteString ":ACQUIRE:SEGMented:TTAGs ON" Query :ACQuire:SEGMented:TTAGs? The :ACQuire:SEGMented:TTAGs? query returns the segmented memory time tags control value.
9 Acquire Commands :ACQuire:SRATe[:ANALog] (Analog Sample Rate) Command :ACQuire:SRATe[:ANALog] {AUTO | MAX | } The :ACQuire:SRATe[:ANALog] command sets the analog acquisition sampling rate. AUTO The AUTO rate allows the oscilloscope to select a sample rate that best accommodates the selected memory depth and horizontal scale. MAX The MAX rate enables the oscilloscope to select maximum available sample rate. A real number representing the sample rate.
9 Acquire Commands strSample = myScope.ReadString Debug.Print strSample SRATe Sample The following tables show the range of point values. Rate Tables Table 11 Sample Rate Values (in Sa/s) Normal Sampling Mode 10 20 25 40 50 100 200 250 400 500 1k 2k 2.5k 4k 5k 10k 20k 25k 40k 50k 100k 200k 250k 400k 500k 1M 2M 2.5M 4M 5M 10M 20M 25M 40M 50M 100 M 125 M 200 M 250 M 400 M 500 M 1G 1.25 G 2G 2.
9 Acquire Commands :ACQuire:SRATe[:ANALog]:AUTO Command :ACQuire:SRATe[:ANALog]:AUTO {{ON | 1} | {OFF | 0}} The :ACQuire:SRATe[:ANALog]:AUTO command enables (ON) or disables (OFF) the automatic analog sampling rate selection control. On the oscilloscope front- panel interface, ON is equivalent to Automatic and OFF is equivalent to Manual. Example This example changes the sampling rate to manual. myScope.
9 Acquire Commands :ACQuire:SRATe:DIGital (Digital Channels Sample RATe) Command :ACQuire:SRATe:DIGital {AUTO | MAX | } The :ACQuire:SRATe:DIGital command sets the digital acquisition sampling rate. AUTO The AUTO rate allows the oscilloscope to select a sample rate that best accommodates the selected memory depth and horizontal scale. MAX The MAX rate enables the oscilloscope to select maximum available sample rate.
9 Acquire Commands :ACQuire:SRATe:DIGital:AUTO Command :ACQuire:SRATe:DIGital:AUTO {{ON | 1} | {OFF | 0}} The :ACQuire:SRATe:DIGital:AUTO command enables (ON) or disables (OFF) the automatic digital channel sampling rate selection control. Example This example changes the digital channel sampling rate to manual. myScope.WriteString ":ACQUIRE:SRATE:DIGital:AUTO OFF" Query :ACQuire:SRATe:DIGital:AUTO? The :ACQuire:SRATe:DIGital:AUTO? query returns the current digital channel acquisition sample rate.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 10 Bus Commands :BUS:B:TYPE 172 :BUS:BIT 173 :BUS:BITS 174 :BUS:CLEar 175 :BUS:CLOCk 176 :BUS:CLOCk:SLOPe 177 :BUS:DISPlay 178 :BUS:LABel 179 :BUS:READout 180 NOTE The :BUS:B:TYPE command applies to oscilloscopes with the serial data analysis option installed. The other :BUS commands apply to mixed-signal oscilloscopes (MSOs).
10 Bus Commands :BUS:B:TYPE Command :BUS:B:TYPE This BUS command only applies to oscilloscopes with the serial data analysis option installed. NOTE The :BUS:B:TYPE command sets the type of protocol being analyzed for a serial bus waveform. Example {CAN | DVI | FIBRechannel | E10GBASEKR | FLEXray | GEN8B10B | GENeric | HOTLink | IIC | INFiniband | JTAG | LIN | MIPI | MPHY | PCI3 | PCIexpress | SAS | SATA | SPI | UART | USB2 | USB3 | XAUI} An integer, 1- 4.
Bus Commands 10 :BUS:BIT Command :BUS:BIT {ON | OFF | 1 | 0} The BUS commands only apply to the MSO oscilloscopes. NOTE The :BUS:BIT command includes or excludes the selected bit as part of the definition for the selected bus. If the parameter is a 1 (ON) then the bit is included in the definition. If the parameter is a 0 (OFF) then the bit is excluded from the definition. The digital subsystem must be enabled for this command will work. See ENABle command in the root subsystem.
10 Bus Commands :BUS:BITS Command :BUS:BITS ,{ON | OFF| 1 | 0} The BUS commands only apply to the MSO oscilloscopes. NOTE The :BUS: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.
Bus Commands 10 :BUS:CLEar Command :BUS:CLEar The BUS commands only apply to the MSO oscilloscopes. NOTE The :BUS:CLEar command excludes all of the digital channels from the selected bus definition. Example An integer, 1- 4. This example excludes all the digital channels from the bus 1 definition. myScope.
10 Bus Commands :BUS:CLOCk Command :BUS:CLOCk {CHANnel | DIGital | NONE} The BUS commands only apply to the MSO oscilloscopes. NOTE The :BUS:CLOCk command sets the digital or analog channel used as the clock for decoding the bus values. An integer, 0- 15. An integer, 1- 4. An integer, 1- 4. Example This example sets the clock to channel 1 for bus 1. myScope.WriteString ":ENABLE DIGITAL" myScope.
Bus Commands 10 :BUS:CLOCk:SLOPe Command :BUS:CLOCk:SLOPe {RISing | FALLing | EITHer} The BUS commands only apply to the MSO oscilloscopes. NOTE The :BUS:CLOCk:SLOPe command sets the clock edge used for decoding the bus values. Example An integer, 1- 4. This example sets the clock edge to falling for bus 1. myScope.WriteString ":ENABLE DIGITAL" myScope.
10 Bus Commands :BUS:DISPlay Command :BUS[:DISPlay] {ON | OFF | 1 | 0} The BUS commands only apply to the MSO oscilloscopes. NOTE The :BUS: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. Example An integer, 1- 4. This example enables the viewing of bus 1. myScope.WriteString ":ENABLE DIGITAL" myScope.
Bus Commands 10 :BUS:LABel Command :BUS:LABel The BUS commands only apply to the MSO oscilloscopes. NOTE The :BUS: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. Labels with more than 16 characters are truncated to 16 characters. NOTE Example An integer, 1- 4.
10 Bus Commands :BUS:READout Command :BUS:READout {NONE | BINary | DECimal | HEX | OCTal | SIGNed | SYMBol The BUS commands only apply to the MSO oscilloscopes. NOTE The :BUS:READout command changes the format of the numbers displayed in the bus waveform. Example An integer, 1- 4. This example sets the bus read out to decimal. myScope.WriteString ":BUS1:READOUT DECIMAL" Query :BUS:READout? The :BUS:READout? query returns the format of the readout control.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 11 Calibration Commands :CALibrate:DATE? 183 :CALibrate:OUTPut 184 :CALibrate:SKEW 185 :CALibrate:STATus? 186 :CALibrate:TEMP? 187 This chapter briefly explains the calibration of the oscilloscope. It is intended to give you and the calibration lab personnel an understanding of the calibration procedure and how the calibration subsystem is intended to be used.
11 Calibration Commands • 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.
Calibration Commands 11 :CALibrate:DATE? Query :CALibrate:DATE? CHANnel The :CALibrate:DATE? query returns the date and time of the last time scale and regular user calibration. The :CALibrate:DATE? query returns two calibration dates and times: • The date and time of the last time scale calibration. • The date and time of the last regular user calibration.
11 Calibration Commands :CALibrate:OUTPut Command :CALibrate:OUTPut {AC | TRIGOUT | DC,} The :CALibrate:OUTPut command sets the coupling frequency, trigger output pulse, and dc level of the calibrator waveform output through the front- panel Aux Out connector: • AC — sets the Aux Out to be the probe compensation square wave (approximately 750 Hz). • TRIGOUT — outputs a pulse when the trigger event occurs. Use this to trigger other instruments. • DC, — a DC level value in volts.
Calibration Commands 11 :CALibrate:SKEW Command :CALibrate:SKEW CHANnel, The :CALibrate:SKEW command sets the channel- to- channel skew factor for a channel. The numeric argument is a real number in seconds, which is added to the current time base position to shift the position of the channel's data in time. Use this command to compensate for differences in the electrical lengths of input paths due to cabling and probes. Example An integer, 1- 4.
11 Calibration Commands :CALibrate:STATus? Query :CALibrate:STATus? The :CALibrate:STATus? query returns the calibration status of the oscilloscope. These are ten, comma- separated integers, with 1, 0, or - 1. A "1" indicates pass, a "0" indicates fail and a "- 1" indicates unused. This matches the status in the Calibration dialog box in the Utilities menu.
Calibration Commands 11 :CALibrate:TEMP? Query :CALibrate:TEMP? CHANnel The :CALibrate:TEMP? query returns two delta temperature values in Celsius: • Between the current temp and the temp of the last time scale calibration. • Between the current temp and the temp of the last regular user calibration. Returned Format [:CALibrate:TEMP] , For example, the string returned could be "- 1,0". A difference in the two delta values of one degree is not uncommon.
11 Calibration Commands 188 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 12 Channel Commands :CHANnel:BWLimit 191 :CHANnel:COMMonmode 192 :CHANnel:DIFFerential 193 :CHANnel:DIFFerential:SKEW 194 :CHANnel:DISPlay 195 :CHANnel:DISPlay:AUTO 196 :CHANnel:DISPlay:OFFSet 197 :CHANnel:DISPlay:RANGe 198 :CHANnel:DISPlay:SCALe 199 :CHANnel:INPut 200 :CHANnel:ISIM:APPLy 201 :CHANnel:ISIM:BANDwidth 202 :CHANnel:ISIM:BWLimit 203 :CHANnel:ISIM:CONVolve 204 :CHANnel:ISIM:CORRection
12 Channel Commands :CHANnel:PROBe:GAIN 229 :CHANnel:PROBe:HEAD:ADD 230 :CHANnel:PROBe:HEAD:DELete ALL 231 :CHANnel:PROBe:HEAD:SELect 232 :CHANnel:PROBe:HEAD:VTERm 233 :CHANnel:PROBe:ID? 234 :CHANnel:PROBe:MODE 235 :CHANnel:PROBe:PRECprobe:BANDwidth 236 :CHANnel:PROBe:PRECprobe:CALibration 237 :CHANnel:PROBe:PRECprobe:MODE 238 :CHANnel:PROBe:PRECprobe:ZSRC 239 :CHANnel:PROBe:SKEW 241 :CHANnel:PROBe:STYPe 242 :CHANnel:RANGe 243 :CHANnel:SCALe 244 :CHANnel:UNIT
Channel Commands 12 :CHANnel:BWLimit Command :CHANnel:BWLimit {{ON | 1} | {OFF | 0}} The :CHANnel:BWLimit command controls the low- pass filter. When ON, the bandwidth of the specified channel is limited. The bandwidth filter can be used with either AC or DC coupling. Example An integer, 1- 4. This example sets the internal low- pass filter t "ON" for channel 1. myScope.
12 Channel Commands :CHANnel:COMMonmode Command :CHANnel:COMMonmode {{ON | 1} | {OFF | 0}} The :CHANnel:COMMonmode command turns on/off common mode for the channel. Channels 2 and 4 may form a common mode channel and Channels 1 and 3 may form a common mode channel. Example An integer, 1- 4. This example turns channel 1 common mode channel on (channel 1 + channel 3). myScope.
12 Channel Commands :CHANnel:DIFFerential Command :CHANnel:DIFFerential {{ON | 1} | {OFF | 0}} The :CHANnel:DIFFerential command turns on/off differential mode for the channel. Channels 1 and 3 may form a differential channel and Channels 2 and 4 may form a differential channel. Example An integer, 1- 4. This example turns channel 1 differential on (channel 1 - channel 3). myScope.
12 Channel Commands :CHANnel:DIFFerential:SKEW Command :CHANnel:DIFFerential:SKEW The :CHANnel:DIFFerential:SKEW command sets the skew that is applied to the differential or common mode pair of channels. A real number for the skew value Example This example sets the skew applied to the channel 1 - channel 3 differential channel to 10 μs. myScope.
Channel Commands 12 :CHANnel:DISPlay Command :CHANnel:DISPlay {{ON | 1} | {OFF | 0}} The :CHANnel:DISPlay command turns the display of the specified channel on or off. You can specify differential and/or common mode channels using the following convention.
12 Channel Commands :CHANnel:DISPlay:AUTO Command :CHANnel:DISPlay:AUTO {{ON | 1} | {OFF | 0}} The :CHANnel:DISPlay:AUTO command sets the differential and common mode display scale and offset to track the acquisition scale and offset. NOTE An integer, 1- 4. You can specify differential and/or common mode channels using the following convention.
Channel Commands 12 :CHANnel:DISPlay:OFFSet Command :CHANnel:DISPlay:OFFSet The :CHANnel:DISPlay:OFFSet command sets the displayed offset of the selected channel. Setting the display range turns off display auto. NOTE A real number for the value variable You can specify differential and/or common mode channels using the following convention.
12 Channel Commands :CHANnel:DISPlay:RANGe Command :CHANnel:DISPlay:RANGe The :CHANnel:DISPlay:RANGe command sets the full scale vertical range of the display of the selected channel. Setting the display range turns off display auto. NOTE A real number for the range value You can specify differential and/or common mode channels using the following convention.
Channel Commands 12 :CHANnel:DISPlay:SCALe Command :CHANnel:DISPlay:SCALe The :CHANnel:DISPlay:SCALe command sets the displayed scale of the selected channel per division. Setting the display range turns off display auto. NOTE A real number for the scale value You can specify differential and/or common mode channels using the following convention.
12 Channel Commands :CHANnel:INPut Command :CHANnel:INPut The :CHANnel:INPut command selects the input coupling, impedance, and LF/HF reject for the specified channel. The coupling for each channel can be AC, DC, DC50, or DCFifty when no probe is attached. If you have an 1153A probe attached, the valid parameters are DC, LFR1, and LFR2 (low- frequency reject). An integer, 1- 4.
12 Channel Commands :CHANnel:ISIM:APPLy Command :CHANnel:ISIM:APPLy "" This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:APPLy command applies a pre- computed transfer function to the waveform. If InfiniiSim is in 2 port mode, the file must be a .tf2 file. If in 4 port mode, the file must be a .tf4 file. Use the ISIM:STATe command to enable InfiniiSim before issuing the APPLy command.
12 Channel Commands :CHANnel:ISIM:BANDwidth Command :CHANnel:ISIM:BANDwidth This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:BANDwidth command sets the Bandwidth Limit field in the InfiniiSim GUI to a desired value (sets the bandwidth limit cutoff frequency). The CHANnel:ISIM:BWLimit command turns this feature on or off. Please refer to the InfiniiSim User's Guide on your oscilloscope or on Agilent.
Channel Commands 12 :CHANnel:ISIM:BWLimit Command :CHANnel:ISIM:BWLimit {{ON | 1} | {OFF | 0}} This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:BWLimit command activates or deactivates the Bandwidth Limit field in the InfiniiSim GUI. This field sets the bandwidth limit cutoff frequency. The CHANnel:ISIM:BANDwidth command sets the value to be used when this field is activated.
12 Channel Commands :CHANnel:ISIM:CONVolve Command :CHANnel:ISIM:CONVolve , {OFF | ON} This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:CONVolve command convolves the indicated S- parameter file with the waveform. This command only uses a single S21 component block. If a .s4p file is indicated, ports 1 and 2 are used assuming a 1- 2, 3- 4 port numbering for 4 port files.
Channel Commands 12 :CHANnel:ISIM:CORRection Command :CHANnel:ISIM:CORRection This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:CORRection command sets the amount of linearly scaled correction applied to the non- DC frequency components of the measured signal. This lets you trade off the amount of correction to apply via the transformation function versus the increase in noise it may create at higher frequencies.
12 Channel Commands myScope.WriteString ":SYSTem:HEADer OFF" myScope.WriteString ":CHANnel1:ISIM:CORRection?" varIsimCorrection = myScope.ReadNumber Debug.
Channel Commands 12 :CHANnel:ISIM:DEConvolve Command :CHANnel:ISIM:DEConvolve , {OFF | ON} This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:DEConvolve command deconvolves the indicated S- parameter file with the waveform. This command only uses a single S21 component block. If a .s4p file is indicated, ports 1 and 2 are used assuming a 1- 2, 3- 4 port numbering for 4 port files.
12 Channel Commands :CHANnel:ISIM:DELay Command :CHANnel:ISIM:DElay {OFF | ON | TRIGger} This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE Cables and fixtures, in addition to changing the waveform's shape, delay the signal in time. This can make it difficult to compare the simulated and measured waveforms because as you turn InfiniiSim on and off, the waveforms are not aligned in time.
Channel Commands Returned Format Example 12 [CHANnel:ISIM:DELay] {OFF | ON | TRIG} 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.
12 Channel Commands :CHANnel:ISIM:NORMalize Command :CHANnel:ISIM:NORMalize {{ON | 1} | {OFF | 0}} This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:NORMalize command activates or deactivates the "Normalize Gain" option. The InfiniiSim normalize gain option removes any DC gain of the transfer function and can be used when modeling probes. You can specify differential and/or common mode channels using the following convention.
Channel Commands 12 :CHANnel:ISIM:PEXTraction Command :CHANnel:ISIM:PEXTraction {P12 | P32 | P34 | P14 | DIFFerential | COMMonmode} This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:PEXTraction command selects the InfiniiSim port extraction. The selections are: • P12 — Use ports 1 - > 2, only valid for channels 1 and 2. • P32 — Use ports 3 - > 2, only valid for channels 1 and 2.
12 Channel Commands strMode = myScope.ReadString Debug.
12 Channel Commands :CHANnel:ISIM:SPAN Command :CHANnel:ISIM:SPAN This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:SPAN command sets the maximum time span control in the InfiniiSim Setup dialog box. You can specify differential and/or common mode channels using the following convention.
12 Channel Commands :CHANnel:ISIM:STATe Command :CHANnel:ISIM:STATe {OFF | PORT2 | PORT4 | PORT41} This CHANnel command only applies if you have purchased the InfiniiSim software application. NOTE The :CHANnel:ISIM:STATe command turns InfiniiSim on or off and sets whether 2 port, 4 port (Channels 1&3), or 4 port (Channel 1) mode is being used (if it is turned on). You can specify differential and/or common mode channels using the following convention.
Channel Commands 12 :CHANnel:LABel Command :CHANnel:LABel The :CHANnel:LABel command sets the channel label to the quoted strin g. You can specify differential and/or common mode channels using the following convention.
12 Channel Commands :CHANnel:OFFSet Command :CHANnel:OFFSet The :CHANnel:OFFSet command sets the vertical value that is represented at the center of the display for the selected channel. Offset parameters are probe and vertical scale dependent. Example An integer, 1- 4. A real number for the offset value at center screen.
12 Channel Commands :CHANnel:PROBe Command :CHANnel:PROBe [,{RATio | DECibel}] The :CHANnel: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.
12 Channel Commands :CHANnel:PROBe:ACCAL Command :CHANnel:PROBe:ACCAL {AUTO | OFF | PRECprobe} The :CHANnel:PROBe:ACCAL command sets the type of AC response probe calibration to use: • OFF — no AC response probe calibration is used. • AUTO — the AC response probe calibration is based on the type of probe being used and its general characteristics. • PRECprobe — PrecisionProbe or PrecisionCable probe calibration is used.
12 Channel Commands :CHANnel:PROBe:ATTenuation Command :CHANnel:PROBe:ATTenuation {DIV1 | DIV10} This command is only valid for the 1154A probe. NOTE The :CHANnel:PROBe:ATTenuation command sets the 1154A probe's input amplifier attenuation. If the 1154A probe is not connected to the channel you will get a settings conflict error. Example An integer, 1- 4. This example sets the probe attenuation for channel 1 to divide by 10. myScope.
12 Channel Commands :CHANnel:PROBe:AUTozero Command :CHANnel:PROBe:AUTozero This command is currently only valid for the N2893A probe. NOTE The :CHANnel:PROBe:AUTozero command initiates the N2893A probe's auto degauss/ offset cal. If the N2893A probe is not connected to the channel you will get a settings conflict error. Example An integer, 1- 4. This example performs an auto zero operation for the probe on channel 1. myScope.
12 Channel Commands :CHANnel:PROBe:COUPling Command :CHANnel:PROBe:COUPling {DC | AC} The :CHANnel:PROBe:COUPling command sets the coupling to either AC or DC. Example An integer, 1- 4. This example sets the probe coupling for channel 1 to AC. myScope.WriteString ":CHANNEL1:PROBE:COUPling AC" Query :CHANnel:PROBe:COUPling? The :CHANnel:PROBe:COUPling? query returns the current probe coupling setting for the selected channel.
12 Channel Commands :CHANnel:PROBe:EADapter Command :CHANnel:PROBe:EADapter {NONE | DIV10 | DIV20 | DIV100} This command is valid only for the 1153A, 1154A, and 1159A probes. NOTE The :CHANnel:PROBe:EADapter command sets the probe external adapter control. The 1153A, 1154A, and 1159A probes have external adapters that you can attach to the end of your probe.
Channel Commands 12 Dim strAdapter As String 'Dimension variable myScope.WriteString ":CHANNEL1:PROBE:EADAPTER?" strAdapter = myScope.ReadString Debug.
12 Channel Commands :CHANnel:PROBe:ECOupling Command :CHANnel:PROBe:ECOupling {NONE | AC} This command is valid only for the 1153A, 1154A, and 1159A probes. NOTE The :CHANnel:PROBe:ECOupling command sets the probe external coupling adapter control. The 1154A and 1159A probes have external coupling adapters that you can attach to the end of your probe.
Channel Commands 12 :CHANnel:PROBe:EXTernal Command :CHANnel:PROBe:EXTernal {{ON | 1} | {OFF | 0}} The :CHANnel:PROBe:EXTernal command sets the external probe mode to on or off. Example An integer, 1- 4. This example sets channel 1 external probe mode to on. myScope.WriteString ":CHANNEL1:PROBE:EXTERNAL ON" Query :CHANnel:PROBe:EXTernal? The :CHANnel:PROBe:EXTernal? query returns the current external probe mode for the specified channel.
12 Channel Commands :CHANnel:PROBe:EXTernal:GAIN Command :CHANnel:PROBe:EXTernal:GAIN [,{RATio | DECibel}] CHANnel:PROBe:EXTernal command must be set to ON before issuing this command or query or this command will have no effect. NOTE The :CHANnel:PROBe:EXTernal:GAIN command sets the probe external scaling gain factor and, optionally, the units for the probe gain factor.
Channel Commands 12 :CHANnel:PROBe:EXTernal:OFFSet Command :CHANnel:PROBe:EXTernal:OFFSet CHANnel:PROBe:EXTernal command must be set to ON before issuing this command or query or this command will have no effect. NOTE The :CHANnel:PROBe:EXTernal:OFFSet command sets the external vertical value for the probe that is represented at the center of the display for the selected channel. Offset parameters are probe and vertical scale dependent.
12 Channel Commands :CHANnel:PROBe:EXTernal:UNITs Command :CHANnel:PROBe:EXTernal:UNITs {VOLT | AMPere | WATT | UNKNown} CHANnel:PROBe:EXTernal command must be set to ON before issuing this command or query or this command will have no effect. UNITs can also be set using the CHANnel:UNITs command. NOTE The :CHANnel:PROBe:EXTernal:UNITs command sets the probe external vertical units on the specified channel. You can specify Y- axis units of VOLTs, AMPs, WATTs, or UNKNown.
Channel Commands 12 :CHANnel:PROBe:GAIN Command :CHANnel:PROBe:GAIN {X1 | X10} This command is valid only for the 1154A probe. NOTE The :CHANnel:PROBe:GAIN command sets the 1154A probe input amplifier gain. If an 1154A probe is not connected to the channel you will get a settings conflict error. Example An integer, 1- 4. This example sets the probe gain for channel 1 to times 10. myScope.
12 Channel Commands :CHANnel:PROBe:HEAD:ADD Command :CHANnel:PROBe:HEAD:ADD "head", ["label"] The :CHANnel:PROBe:HEAD:ADD command adds an entry to the list of probe heads. An integer, 1- 4. "head" A quoted string matching the probe head model such as "N5381A", "E2678A", etc. "label" An optional quoted string for the head label. Example This example adds the probe head N5381A to the list of probe heads for channel 1. myScope.
12 Channel Commands :CHANnel:PROBe:HEAD:DELete ALL Command :CHANnel:PROBe:HEAD:DELete ALL The :CHANnel:PROBe:HEAD:DELete ALL command deletes all the nodes in the list of probe heads except for one default probe head which remains after this command is executed. Example An integer, 1- 4. This example deletes the entire list of probe heads for channel 1 except for the default head. myScope.
12 Channel Commands :CHANnel:PROBe:HEAD:SELect Command :CHANnel:PROBe:HEAD:SELect { | } The :CHANnel:PROBe:HEAD:SELect command selects the probe head being used from a list of possible probe head choices. You can select by the position number in the list of probe heads, or you can select by the label given when the probe head was added. Example An integer, 1- 4. Specifies the number of the head (or position) in the configure list.
Channel Commands 12 :CHANnel:PROBe:HEAD:VTERm Command :CHANnel:PROBe:HEAD:VTERm {FLOating | EXTernal | {INTernal,}} The :CHANnel:PROBe:HEAD:VTERm command sets the termination voltage for the N5444A probe head. Example An integer, 1- 4. A real number for the internal termination voltage setting. To set an internal termination voltage of - 1.0 V: myScope.WriteString ":CHANnel1:PROBe:HEAD:VTERm INTernal,-1.
12 Channel Commands :CHANnel:PROBe:ID? Query :CHANnel:PROBe:ID? The :CHANnel:PROBe:ID? query returns the type of probe attached to the specified oscilloscope channel. Returned Format Example An integer, 1- 4. [:CHANnel:PROBe:ID] A string of alphanumeric characters.
Channel Commands 12 :CHANnel:PROBe:MODE Command :CHANnel:PROBe:MODE {DIFF | SEA | SEB | CM} This command is currently only valid for the N2750A probe. NOTE The :CHANnel:PROBe:MODE command sets the N2750A probe's InfiniiMode configuration. If the N2750A probe is not connected to the channel you will get a settings conflict error. Example An integer, 1- 4. This example sets the probe InfiniiMode for channel 1 to common mode. myScope.
12 Channel Commands :CHANnel:PROBe:PRECprobe:BANDwidth Command :CHANnel:PROBe:PRECprobe:BANDwidth {AUTO | {MANual, } | {BOOSt, }} The :CHANnel:PROBe:PRECprobe:BANDwidth command specifies how the limit of PrecisionProbe or PrecisionCable correction/boosting is determined. An integer, 1- 4. AUTO PrecisionProbe or PrecisionCable normally sets the bandwidth to a value that has a small amount of boosting in the frequency response.
12 Channel Commands :CHANnel:PROBe:PRECprobe:CALibration Command :CHANnel:PROBe:PRECprobe:CALibration [,:PROBe:PRECprobe:CALibration command specifies the name of the PrecisionProbe or PrecisionCable calibration to use for the specified channel and probe. An integer, 1- 4. [,] A quoted string that is the name of the PrecisionProbe or Precision Cable calibration. The SMA probe heads can use two independent calibration files.
12 Channel Commands :CHANnel:PROBe:PRECprobe:MODE Command :CHANnel:PROBe:PRECprobe:MODE {PROBe | CABLe} The :CHANnel:PROBe:PRECprobe:MODE command chooses between PrecisionProbe or PrecisionCable AC response probe calibration. Example An integer, 1- 4. This example chooses PrecisionProbe calibration for the probe on channel 1. myScope.
12 Channel Commands :CHANnel:PROBe:PRECprobe:ZSRC Command :CHANnel:PROBe:PRECprobe:ZSRC {VIN | {VSRC, } | {VSRC, }} The :CHANnel:PROBe:PRECprobe:ZSRC command specifies how PrecisionProbe characterizes the time domain and frequency domain response. VIN An integer, 1- 4. Selects the VOut/Vin probe transfer function (which characterizes the output of the probe as a function of the input at the probe tips).
12 Channel Commands See Also • ":CHANnel:PROBe:ACCAL" on page 218 • ":CHANnel:PROBe:PRECprobe:MODE" on page 238 • ":CHANnel:PROBe:PRECprobe:CALibration" on page 237 • ":CHANnel:PROBe:PRECprobe:BANDwidth" on page 236 240 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Channel Commands 12 :CHANnel:PROBe:SKEW Command :CHANnel:PROBe:SKEW The :CHANnel:PROBe:SKEW command sets the channel- to- channel skew factor for the specified channel. You can use the oscilloscope's probe skew control to remove timing differences between probes or cables on different channels. Example An integer, 1- 4. A real number for the skew value, in the range - 1 ms to +1 ms. This example sets the probe skew for channel 1 to 10 μs. myScope.
12 Channel Commands :CHANnel:PROBe:STYPe Command :CHANnel:PROBe:STYPe {DIFFerential | SINGle} This command is valid only for the 113xA series probes, 1168A probe, and 1169A probe. NOTE The :CHANnel:PROBe:STYPe command sets the channel probe signal type (STYPe) to differential or single- ended when using the 113xA series probes, 1168A probe, and 1169A probe. This setting determines how offset is applied.
Channel Commands 12 :CHANnel:RANGe Command :CHANnel:RANGe The :CHANnel:RANGe command defines the full- scale vertical axis of the selected channel. It sets up acquisition and display hardware to display the waveform at a given range scale. The values represent the full- scale deflection factor of the vertical axis in volts. These values change as the probe attenuation factor is changed. Example An integer, 1- 4.
12 Channel Commands :CHANnel:SCALe Command :CHANnel:SCALe The :CHANnel: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. Example An integer, 1- 4. A real number for the vertical scale of the channel in units per division. This example sets the scale value for channel 1 to 500 mV/div. myScope.
12 Channel Commands :CHANnel:UNITs Command :CHANnel:UNITs {VOLT | AMPere | WATT | UNKNown} UNITs can also be set using the CHANnel:PROBe:EXTernal:UNITs command when CHANnel:PROBe:EXTernal command has been set to ON. NOTE The :CHANnel: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:RANGe and :CHANnel:OFFSet).
12 Channel Commands 246 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 13 Common Commands *CLS *ESE *ESR? *IDN? *LRN? *OPC *OPT? *PSC *RCL *RST *SAV *SRE *STB? *TRG *TST? *WAI 249 250 252 253 254 256 257 260 261 262 263 264 266 268 269 270 Common commands are defined by the IEEE 488.2 standard. They control generic device functions that are common to many different types of instruments.
13 Common Commands NOTE Headers and Common Commands. Headers are not prepended to common commands. Status Registers The following two status registers used by common commands have an enable (mask) register. By setting bits in the enable register, you can select the status information for use. Refer to the chapter, "Status Reporting," for a complete discussion of status.
Common Commands 13 *CLS (Clear Status) Command *CLS The *CLS command clears all status and error registers. Example This example clears the status data structures of the oscilloscope. myScope.WriteString "*CLS" See Also Refer to the "Status Reporting" chapter for a complete discussion of status.
13 Common Commands *ESE (Event Status Enable) Command *ESE The *ESE command sets the Standard Event Status Enable Register bits. 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 13. Example This example enables the User Request (URQ) bit of the Standard Event Status Enable Register.
13 Common Commands Table 13 Standard Event Status Enable Register Bits (continued) See Also Bit Weight Enables Definition 4 16 EXE - Execution Error Indicates whether a parameter was out of range, or was inconsistent with the current settings. 3 8 DDE - Device Dependent Error Indicates whether the device was unable to complete an operation for device-dependent reasons. 2 4 QYE - Query Error Indicates if the protocol for queries has been violated.
13 Common Commands *ESR? (Event Status Register) Query *ESR? The *ESR? query returns the contents of the Standard Event Status Register. Reading this register clears the Standard Event Status Register, as does a *CLS. Returned Format Example An integer, 0 to 255, representing the total bit weights of all bits that are high at the time you read the register.
13 Common Commands *IDN? (Identification Number) Query *IDN? The *IDN? query returns the company name, oscilloscope model number, serial number, and software version by returning this string: Agilent Technologies,,, [,] Returned Format Example Specifies the model number of the oscilloscope. Specifies the serial number of the oscilloscope.
13 Common Commands *LRN? (Learn) Query *LRN? The *LRN? query returns a block of data that contains the oscilloscope's current setup. You can store the oscilloscope's setup and send it back to the oscilloscope at a later time. This block of setup data should be sent to the oscilloscope just as it is. It works because of its embedded ":SYST:SET" header. Returned Format :SYST:SET This is a definite- length, arbitrary block response specifying the current oscilloscope setup.
Common Commands 13 Infiniium = visa.instrument("TCPIP0::130.29.71.191::inst0::INSTR") Infiniium.timeout = 20 Infiniium.term_chars = "" Infiniium.clear() # Save oscilloscope setup. sLearn = Infiniium.ask("*LRN?\n") check_instrument_errors() f = open("learn.stp", "wb") f.write("%s\n" % sLearn) f.close() print "Learn string bytes saved: %d" % len(sLearn) # Restore the default setup. Infiniium.write("*RST\n") # Set up oscilloscope by loading previously saved learn string. sLearn = "" f = open("learn.
13 Common Commands *OPC (Operation Complete) Command *OPC The *OPC command sets the operation complete bit in the Standard Event Status Register when all pending device operations have finished. Example This example sets the operation complete bit in the Standard Event Status Register when the DIGitize operation is complete. myScope.
13 Common Commands *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.
13 Common Commands Table 15 Possible Installed Options and Descriptions (continued) 258 Installed Option Description FBD (N5409A) FB DIMM Compliance FBR (N5410A) Fibre Channel Compliance GD5 (U7245A) GDDR5 Compliance H14 (N5399B) HDMI + HEAC Compliance HDM (N5399A/B) HDMI Compliance HSI (U7248A) HSIC Compliance LTP (N8817A) JTAG Protocol LP2 (N5413B) LPDDR2 Compliance LPU (N5413B) LPDDR2 Upgrade LP3 (U7231B) LPDDR3 Compliance L3U (U7231B) LPDDR3 Upgrade LSS (N5391A/B) SPI/I2C Pro
Common Commands 13 Table 15 Possible Installed Options and Descriptions (continued) Example Installed Option Description SDA (E2688A, N5384A) Serial Data Analysis SDC (U7246A) SD Card Compliance SSU (N5412B) SAS 6G Upgrade STP (N8801A) SATA/SAS Protocol SVD (N8812A) SVID Protocol SWT (N5414A/B, N5415B) InfiniiScan TBL (N6463A) Thunderbolt Compliance U3P (N5464A/B) USB 3.0 Protocol UDF (N5430A) User Def Fn UH2 Ultra HS2 SD Compliance U23 (U7243A-003) Upgrade from USB 2.0 to USB 3.
13 Common Commands *PSC (Power- on Status Clear) Command *PSC {{ON|1} | {OFF|0}} The *PSC command determines whether or not the SRQ line is set upon the completion of the oscilloscope's boot process. When the *PSC flag is set to 1, the Power On (PON) bit of the Standard Event Status Register is 0 during the boot process. When the *PSC flag is set to 0, the PON bit is set to a 1 during the boot process.
13 Common Commands *RCL (Recall) Command *RCL 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. Example An integer, 0 through 9, specifying the save/recall register that contains the oscilloscope setup you want to recall.
13 Common Commands *RST (Reset) Command *RST The *RST command performs a default setup which is the same as pressing the oscilloscope front panel default key. Example This example resets the oscilloscope to a known state. myScope.WriteString "*RST" NOTE 262 The default values for all of the Infiniium controls is located in the Infiniium Help System under Default Setup.
13 Common Commands *SAV (Save) Command *SAV The *SAV command stores the current state of the oscilloscope in a save register. Example An integer, 0 through 9, specifying the register used to save the current oscilloscope setup. This example stores the current oscilloscope setup to register 3. myScope.WriteString "*SAV 3" See Also *RCL (Recall).
13 Common Commands *SRE (Service Request Enable) Command *SRE 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. 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 16.
Common Commands 13 Table 16 Service Request Enable Register Bits (continued) Bit Weight Enables 2 4 MSG - Message 1 2 USR - User Event Register 0 1 TRG - Trigger Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 265
13 Common Commands *STB? (Status Byte) Query *STB? The *STB? query returns the current contents of the Status Byte, including the Master Summary Status (MSS) bit. See Table 17 for Status Byte Register bit definitions. Returned Format 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.
Common Commands 13 Table 17 Status Byte Register Bits (continued) Bit Bit Weight Bit Name Condition (0 = False = Low, 1 = True = High) 2 4 MSG 0 = no message has been displayed 1 = message has been displayed 1 2 USR 0 = no enabled user event conditions have occurred 1 = an enabled user event condition has occurred 0 1 TRG 0 = no trigger has occurred 1 = a trigger occurred Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 267
13 Common Commands *TRG (Trigger) Command *TRG The *TRG command has the same effect as the Group Execute Trigger message (GET) or RUN command. It acquires data for the active waveform display, if the trigger conditions are met, according to the current settings. Example This example starts the data acquisition for the active waveform display according to the current settings. myScope.
13 Common Commands *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. NOTE Disconnect Inputs First You must disconnect all front-panel inputs before sending the *TST? command.
13 Common Commands *WAI (Wait) Command *WAI The *WAI command has no function in the oscilloscope, but is parsed for compatibility with other instruments. Example 270 myScope.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 14 Digital Commands :DIGital:DISPlay 272 :DIGital:LABel 273 :DIGital:SIZE 274 :DIGital:THReshold 275 NOTE The DIGital commands only apply to the MSO oscilloscopes.
14 Digital Commands :DIGital:DISPlay Command The DIGital commands only apply to the MSO oscilloscopes. NOTE :DIGital[:DISPlay] {ON | OFF | 1 | 0} The :DIGital:DISPlay command enables or disables the view for the selected digital channel. Example An integer, 0- 15. This example turns on the display of bit 5 for the digital channels. myScope.
Digital Commands 14 :DIGital:LABel Command The DIGital commands only apply to the MSO oscilloscopes. NOTE :DIGital:LABel The :DIGital: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. Labels with more than 16 characters are truncated to 16 characters.
14 Digital Commands :DIGital:SIZE Command The DIGital commands only apply to the MSO oscilloscopes. NOTE DIGital:SIZE {SMALl | MEDium | LARGe} The :DIGital: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. Example An integer, 0- 15. This example changes the size to medium for all displayed digital channels or buses. myScope.
Digital Commands 14 :DIGital:THReshold Command The DIGital commands only apply to the MSO oscilloscopes. NOTE :DIGital:THReshold {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL | DIFFerential | } The :DIGital: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.
14 Digital Commands 276 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 15 Disk Commands :DISK:CDIRectory 278 :DISK:COPY 279 :DISK:DELete 280 :DISK:DIRectory? 281 :DISK:LOAD 282 :DISK:MDIRectory 283 :DISK:PWD? 284 :DISK:SAVE:COMPosite 285 :DISK:SAVE:IMAGe 286 :DISK:SAVE:JITTer 287 :DISK:SAVE:LISTing 288 :DISK:SAVE:MEASurements 289 :DISK:SAVE:PRECprobe 290 :DISK:SAVE:SETup 291 :DISK:SAVE:WAVeform 292 :DISK:SEGMented 294 The DISK subsystem commands perform the disk operations as defined in the File menu.
15 Disk Commands :DISK:CDIRectory Command :DISK:CDIRectory "" The :DISK:CDIRectory command changes the present working directory to the designated directory name. An error occurs when the requested directory does not exist. You can then view the error with the :SYSTem:ERRor? [{NUMBer | STRing}] query. Example A character- quoted ASCII string, which can include the subdirectory designation. You must separate the directory name and any subdirectories with a backslash (\).
Disk Commands 15 :DISK:COPY Command :DISK:COPY "","" 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. The default path is C:\ Document and Settings\All Users\Shared Documents\Infiniium\Data. Example A character- quoted ASCII string which can include subdirectories with the name of the file. This example copies FILE1.
15 Disk Commands :DISK:DELete Command :DISK:DELete "" 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:\Document and Settings\All Users\Shared Documents\Infiniium\Data. Example A character- quoted ASCII string which can include subdirectories with the name of the file. This example deletes FILE1.SET from the disk. myScope.WriteString ":DISK:DELETE ""FILE1.
15 Disk Commands :DISK:DIRectory? Query :DISK: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:\Document and Settings\All Users\Shared Documents\ Infiniium\Data. Returned Format The list of filenames and directories.
15 Disk Commands :DISK:LOAD Command :DISK:LOAD ""[,] The :DISK:LOAD command restores a setup or a waveform from the disk. 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, and .SET file types. The destination is only used when loading a waveform memory. CAUTION Setups saved from Infiniium software versions prior to 2.
15 Disk Commands :DISK:MDIRectory Command :DISK:MDIRectory "" The :DISK:MDIRectory command creates a directory in the present working directory which has been set by the :DISK:CDIRectory command. If the present working directory has not been set by the :DISK:CDIRectory command, you must specify the full path in the parameter as shown in Example 1 below. An error is displayed if the requested subdirectory does not exist.
15 Disk Commands :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:\Document and Settings\All Users\Shared Documents\Infiniium\Data) has not been changed by the :DISK:CDIRectory command, the :DISK:PWD? query will return an empty string.
15 Disk Commands :DISK:SAVE:COMPosite Command :DISK:SAVE:COMPosite "" The :DISK:SAVE:COMPosite command lets you save oscilloscope composite files to Infiniium's hard disk or to a network drive. Composite files contain setups and waveform data. The file will have an .osc extension. A quoted ASCII string with a maximum of 254 characters including the entire path name, if used. The filename assumes the present working directory if a path does not precede the file name.
15 Disk Commands :DISK:SAVE:IMAGe Command :DISK:SAVE:IMAGe "" [, [,{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:\Document and Settings\All Users\Shared Documents\Infiniium\Data. The image format can be: BMP, GIF, TIF, PNG, or JPEG. The extension is supplied by the oscilloscope depending on the selected file format.
15 Disk Commands :DISK:SAVE:JITTer Command :DISK:SAVE:JITTer "" 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 histograms in a comma separated variables (CSV) file format. The csv extension is supplied by the oscilloscope. The default path is C:\Document and Settings\All Users\Shared Documents\Infiniium\Data.
15 Disk Commands :DISK:SAVE:LISTing Command :DISK:SAVE:LISTing [,] ""[, ] 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:\ Document and Settings\All Users\Shared Documents\Infiniium\Data. Example 288 {SERial} — The default serial bus is the one currently displayed in the listing window. An integer 1 - 4.
15 Disk Commands :DISK:SAVE:MEASurements Command :DISK:SAVE:MEASurements "" The DISK:SAVE:MEASurements command saves the measurements shown in the measurements tab at the bottom of the oscilloscope screen in a comma separated variables (CSV) file format. The csv extension is supplied by the oscilloscope. The default path is C:\Document and Settings\All Users\Shared Documents\Infiniium\Data.
15 Disk Commands :DISK:SAVE:PRECprobe Command :DISK:SAVE:PRECprobe ".csv", {CHAN1 | CHAN2 | CHAN3 | CHAN4} The DISK:SAVE:PRECprobe command saves PrecisionProbe/Cable data in a comma separated variables (CSV) file format. The default path is C:\ Document and Settings\All Users\Shared Documents\Infiniium\Data. Example 290 A quoted ASCII string with a maximum of 254 characters including the entire path name, if used. myScope.WriteString ":DISK:SAVE:PRECprobe ""PPch1data.
Disk Commands 15 :DISK:SAVE:SETup Command :DISK:SAVE:SETup "" The :DISK:SAVE:SETup command saves the current oscilloscope setup to a disk. The file will have a .set extension. Example A quoted ASCII string with a maximum of 254 characters including the entire path name, if used. The filename assumes the present working directory if a path does not precede the file name. The default path is C:\ SCOPE\SETUP. This example saves the channel 1 waveform to SETUP1 on the disk. myScope.
15 Disk Commands :DISK:SAVE:WAVeform Command :DISK:SAVE:WAVeform ,"" [,[,]] The :DISK:SAVE:WAVeform command saves a waveform to a disk. If the source is ALL, all of the currently displayed waveforms are saved to the file. If you use a file extension as shown below in the variable, then the type of file saved defaults to the extension type. If no format is specified and no extension is used, the file is saved in the INTernal format.
Disk Commands 15 A quoted ASCII string with a maximum of 254 characters including the entire path name, if used. The filename assumes the present working directory if a path does not precede the file name. The default path is C:\ Document and Settings\All Users\Shared Documents\Infiniium\Data. {BIN | CSV | INTernal | TSV | TXT | H5 | H5INt} The following file name extensions are used for the different formats: • BIN = file_name.bin • CSV (comma separated values) = file_name.
15 Disk Commands :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.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 16 Display Commands :DISPlay:CGRade 296 :DISPlay:CGRade:LEVels? 297 :DISPlay:CGRade:SCHeme 299 :DISPlay:COLumn 301 :DISPlay:CONNect 302 :DISPlay:DATA? 303 :DISPlay:GRATicule 304 :DISPlay:GRATicule:INTensity 305 :DISPlay:GRATicule:NUMBer 306 :DISPlay:GRATicule:SETGrat 307 :DISPlay:GRATicule:SIZE 308 :DISPlay:LABel 309 :DISPlay:LINE 310 :DISPlay:PERSistence 311 :DISPlay:ROW 312 :DISPlay:SCOLor 313 :DISPlay:STATus:COL 315 :DISPlay:STATus:ROW 3
16 Display Commands :DISPlay:CGRade Command :DISPlay:CGRade {{ON | 1} | {OFF | 0}} The :DISPlay:CGRade command sets the color grade persistence on or off. When in the color grade persistence mode, all waveforms are mapped into a database and shown with different colors representing varying number of hits in a pixel. "Connected dots" display mode (:DISPlay:CONNect) is disabled when the color grade persistence is on. The oscilloscope has three features that use a specific database.
Display Commands 16 :DISPlay:CGRade:LEVels? Query :DISPlay:CGRade:LEVels? The :DISPlay:CGRade:LEVels? query returns the range of hits represented by each color. Fourteen values are returned, representing the minimum and maximum count for each of seven colors.
16 Display Commands See Also • ":DISPlay:CGRade" on page 296 • ":DISPlay:CGRade:SCHeme" on page 299 298 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Display Commands 16 :DISPlay:CGRade:SCHeme Command :DISPlay:CGRade:SCHeme {CLASsic | TEMP} The :DISPlay:CGRade:SCHeme command sets the color grade scheme to CLASsic or TEMP. Color grade persistence is displayed in seven different colors which represent the range of the counters in the database. In the CLASsic color grade scheme, the counters with the largest counts are displayed using a white pixel while the counters with the smallest counts are displayed using green pixels.
16 Display Commands The :DISPlay:CGRade:SCHeme? query returns the specified color scheme. Returned Format Example [DISPlay:CGRade:SCHeme] {CLASsic | TEMP} 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.
Display Commands 16 :DISPlay:COLumn Command :DISPlay:COLumn The :DISPlay:COLumn command specifies the starting column for subsequent :DISPlay:STRing and :DISPlay:LINE commands. An integer representing the starting column for subsequent :DISPlay:STRing and :DISPlay:LINE commands. The range of values is 0 to 90. Example This example sets the starting column for subsequent :DISPlay:STRing and :DISPlay:LINE commands to column 10. myScope.
16 Display Commands :DISPlay:CONNect Command :DISPlay:CONNect {{ON | 1} | {OFF | 0}} When enabled, :DISPlay:CONNect draws a line between consecutive waveform data points. This is also known as linear interpolation. :DISPlay:CONNect is forced to OFF when color grade (:DISPlay:CGRade) persistence is on. Example This example turns on the connect- the- dots feature. myScope.
16 Display Commands :DISPlay:DATA? Query :DISPlay:DATA? [[,[, [,]]]] The :DISPlay:DATA? query returns information about the captured data. If no options to the query are specified, the default selections are BMP file type, SCReen mode, compression turned ON, and inversion set to NORMal. The bitmap type: BMP | JPG | GIF | TIF | PNG. The display setting: SCReen | GRATicule.
16 Display Commands :DISPlay:GRATicule Commands :DISPlay:GRATicule {GRID | FRAMe} The :DISPlay:GRATicule command selects the type of graticule that is displayed. Infiniium oscilloscopes have a 10- by- 8 (unit) display graticule grid GRID), a grid line is place on each vertical and horizontal division. When it is off (FRAMe), a frame with tic marks surrounds the graticule edges.
Display Commands 16 :DISPlay:GRATicule:INTensity Commands :DISPlay:GRATicule:INTensity 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.
16 Display Commands :DISPlay:GRATicule:NUMBer Commands :DISPlay:GRATicule:NUMBer {1 | 2 | 4 | 8 | 16} You can divide the waveform viewing area from one area into two, four, eight, or sixteen separate viewing areas using the :DISPlay:GRATicule:NUMBer command. This lets you separate waveforms without having to adjust the vertical position controls. Example This example sets up two viewing areas. myScope.
Display Commands 16 :DISPlay:GRATicule:SETGrat Commands :DISPlay:GRATicule:SETGrat , The :DISPlay:GRATicule:SETGrat command assigns the corresponding waveform to a specific grid on the display.
16 Display Commands :DISPlay:GRATicule:SIZE Commands :DISPlay:GRATicule:SIZE {STANdard | EXTended | MAXimized | MINimized} The :DISPlay:GRATicule:SIZE command sets the graticule size. The opposite effect of this command is to size the Measurements tab. This is, to get the biggest Measurements tab area, you minimize the graticule size. Example This example sets the extended graticule size. myScope.
Display Commands 16 :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:LABel command: Example This example turns on the display of all labels. myScope.WriteString ":DISPLAY:LABEL ON" Query :DISPlay:LABel? The :DISPlay:LABel? query returns the current state of the labels.
16 Display Commands :DISPlay:LINE Command :DISPlay:LINE "" The :DISPlay:LINE command writes a quoted string to the screen, starting at the location specified by the :DISPlay:ROW and :DISPlay:COLumn commands. Example Any series of ASCII characters enclosed in quotation marks. This example writes the message "Infiniium Test" to the screen, starting at the current row and column location. myScope.
Display Commands 16 :DISPlay:PERSistence Command :DISPlay:PERSistence {MINimum | INFinite |
16 Display Commands :DISPlay:ROW Command :DISPlay:ROW 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. Example An integer representing the starting row for subsequent :DISPlay:STRing and :DISPlay:LINE commands. The range of values is 9 to 23.
Display Commands 16 :DISPlay:SCOLor Command :DISPlay:SCOLor , , , The :DISPlay:SCOLor command sets the color of the specified display element. The display elements are described in Table 18.
16 Display Commands Table 18 Color Names (continued) Color Name Definition WOVerlap Display element for waveforms when they overlap each other. TSCale Display element for horizontal scale and offset control text. WMEMories Display element for waveform memories. WINText Display element used in dialog box controls and pull-down menus. WINBackgrnd Display element for the background color used in dialog boxes and buttons. An integer from 0 to 100.
16 Display Commands :DISPlay:STATus:COL Command :DISPlay:STATus:COL The :DISPlay:STATus:COL 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. 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.
16 Display Commands :DISPlay:STATus:ROW Command :DISPlay:STATus: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. Example A value of 0 to 1 may be given for the row where 0 is the far top and 1 the far bottom. For example, a row and column of 0.5 will place the upper left of the status label at the center screen.
Display Commands 16 :DISPlay:STRing Command :DISPlay:STRing "" 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. Example Any series of ASCII characters enclosed in quotation marks.
16 Display Commands :DISPlay:TAB Command :DISPlay:TAB The :DISPlay:TAB command displays the corresponding tab indicated by the parameter. Example MEASurement | MARKer | LIMittest | JITTer | NOISe | HISTogram | MASKtest | EYE | COLorgrade | NAVigation | STATus | SCALe This example sets the Status tab as the displayed one. myScope.WriteString ":DISPlay:TAB STATus" Query :DISPlay:TAB? The :DISPlay:TAB? query returns the tab that is currently displayed.
Display Commands 16 :DISPlay:TEXT Command :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.
16 Display Commands 320 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 17 Function Commands :FUNCtion? 324 :FUNCtion:ABSolute 325 :FUNCtion:ADD 326 :FUNCtion:ADEMod 327 :FUNCtion:AVERage 328 :FUNCtion:COMMonmode 329 :FUNCtion:DELay 330 :FUNCtion:DIFF 331 :FUNCtion:DISPlay 332 :FUNCtion:DIVide 333 :FUNCtion:FFT:FREQuency 334 :FUNCtion:FFT:REFerence 335 :FUNCtion:FFT:RESolution? 336 :FUNCtion:FFT:TDELay 337 :FUNCtion:FFT:WINDow 338 :FUNCtion:FFTMagnitude 340 :FUNCt
17 Function Commands :FUNCtion:SQUare 360 :FUNCtion:SUBTract 361 :FUNCtion:VERSus 362 :FUNCtion:VERTical 363 :FUNCtion:VERTical:OFFSet 364 :FUNCtion:VERTical:RANGe 365 The FUNCtion subsystem defines functions 1- 16.
17 Function Commands Differential and Common Mode Channel Operands DIFF
, where P is an integer, 1- 2. COMMonmode
, where P is an integer, 3- 4. The COMMonmode and DIFF 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.
17 Function Commands :FUNCtion? Query :FUNCtion? The :FUNCtion? query returns the currently defined source(s) for the function. Returned Format [:FUNCtion:] {[,]} An integer, 1- 16, representing the selected function. Active math operation for the selected function.
Function Commands 17 :FUNCtion:ABSolute Command :FUNCtion:ABSolute The :FUNCtion:ABSolute command takes the absolute value an operand. {CHANnel | FUNCtion | WMEMory | DIFF | COMMonmode
| MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321. Example This example turns on the absolute value command using channel 3. myScope.
17 Function Commands :FUNCtion:ADD Command :FUNCtion:ADD , The :FUNCtion:ADD command defines a function that takes the algebraic sum of the two operands. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
17 Function Commands :FUNCtion:ADEMod Command :FUNCtion:ADEMod The :FUNCtion:ADEMod command sets the math function to show the amplitude envelope for an amplitude modulated (AM) input signal. This function uses a Hilbert transform to get the real (in- phase, I) and imaginary (quadrature, Q) parts of the input signal and then performs a square root of the sum of the real and imaginary parts to get the demodulated amplitude envelope waveform.
17 Function Commands :FUNCtion:AVERage Command :FUNCtion:AVERage [,] The :FUNCtion:AVERage command defines a function that averages the operand based on the number of specified averages. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
Function Commands 17 :FUNCtion:COMMonmode Command :FUNCtion:COMMonmode , The :FUNCtion:COMMonmode command defines a function that adds the voltage values of the two operands and divides by 2, point by point. An integer, 1- 16, representing the selected function.
17 Function Commands :FUNCtion:DELay (Delay) Command :FUNCtion:DELay , The :FUNCtion:DELay command adds the provided time to the X origin of the source waveform, effectively shifting the function waveform in time. An integer, 1- 16, representing the selected function.
Function Commands 17 :FUNCtion:DIFF (Differentiate) Command :FUNCtion:DIFF [,] The :FUNCtion:DIFF command defines a function that computes the discrete derivative of the operand. An integer, 1- 16, representing the selected function.
17 Function Commands :FUNCtion:DISPlay Command :FUNCtion:DISPlay {{ON|1} | {OFF|0}} The :FUNCtion:DISPlay command either displays the selected function or removes it from the display. Example An integer, 1- 16, representing the selected function. This example turns function 1 on. myScope.WriteString ":FUNCTION1:DISPLAY ON" Query :FUNCtion:DISPlay? The :FUNCtion:DISPlay? query returns the displayed status of the specified function.
Function Commands 17 :FUNCtion:DIVide Command :FUNCtion:DIVide , The :FUNCtion:DIVide command defines a function that divides the first operand by the second operand. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
17 Function Commands :FUNCtion:FFT:FREQuency Command :FUNCtion:FFT:FREQuency The :FUNCtion:FFT:FREQuency command sets the center frequency for the FFT when :FUNCtion:FFTMagnitude is defined for the selected function. Query An integer, 1- 16, representing the selected function. A real number for the value in Hertz, from - 1E12 to 1E12. :FUNCtion:FFT:FREQuency? The :FUNCtion:FFT:FREQuency? query returns the center frequency value.
Function Commands 17 :FUNCtion:FFT:REFerence Command :FUNCtion:FFT:REFerence {DISPlay | TRIGger} The :FUNCtion:FFT:REFerence command sets the reference point for calculating the FFT phase function. Example An integer, 1- 16, representing the selected function. This example sets the reference point to DISPlay. myScope.
17 Function Commands :FUNCtion:FFT:RESolution? Query :FUNCtion:FFT:RESolution? The :FUNCtion:FFT:RESolution? query returns the current resolution of the FFT function. Returned Format [FUNCtion:FFT:RESolution] An integer, 1- 16, representing the selected function. Resolution frequency. The FFT resolution is determined by the sample rate and memory depth settings.
Function Commands 17 :FUNCtion:FFT:TDELay Command :FUNCtion:FFT:TDELay The :FUNCtion:FFT:TDELay command sets the time delay for the FFT phase function. Example Time, in seconds, set for the time delay. This example sets the time delay to one millisecond. myScope.WriteString ":FUNCtion1:FFT:TDELay 1E-3" Query :FUNCtion:FFT:TDELay? The :FUNCtion:FFT:TDELay? query returns the time delay for the FFT phase function.
17 Function Commands :FUNCtion:FFT:WINDow Command :FUNCtion:FFT:WINDow {RECTangular | HANNing | FLATtop | BHARris | HAMMing} The :FUNCtion: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.
Function Commands Example 17 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. Dim strWND As String myScope.WriteString ":FUNCtion1:FFT:WINDow?"" strWND = myScope.ReadString Debug.
17 Function Commands :FUNCtion:FFTMagnitude Command :FUNCtion:FFTMagnitude The :FUNCtion:FFTMagnitude command computes the Fast Fourier Transform (FFT) of the specified channel, function, or memory. The FFT takes the digitized time record and transforms it to magnitude and phase components as a function of frequency. An integer, 1- 16, representing the selected function.
Function Commands 17 :FUNCtion:FFTPhase Command :FUNCtion:FFTPhase The :FUNCtion:FFTPhase command computes the Fast Fourier Transform (FFT) of the specified channel, function, or waveform memory. The FFT takes the digitized time record and transforms it into magnitude and phase components as a function of frequency. An integer, 1- 16, representing the selected function.
17 Function Commands :FUNCtion:GATing (Gating) Command :FUNCtion:GATing [,,] The :FUNCtion:GATing command defines a horizontal gating function of another waveform (similar to horizontal zoom). Measurements on horizontal gating functions are essentially gated measurements. An integer, 1- 16, representing the selected function.
Function Commands 17 :FUNCtion:HIGHpass Command :FUNCtion:HIGHpass , The :FUNCtion:HIGHpass command applies a single- pole high pass filter to the source waveform. The bandwidth that you set is the 3 dB bandwidth of the filter. An integer, 1- 16, representing the selected function.
17 Function Commands :FUNCtion:HORizontal Command :FUNCtion:HORizontal {AUTO | MANual} The :FUNCtion:HORizontal command sets the horizontal tracking to either AUTO or MANual. The HORizontal command also includes the following commands and queries, which are described on the following pages: • POSition • RANGe Query An integer, 1- 16, representing the selected function.
Function Commands 17 :FUNCtion:HORizontal:POSition Command :FUNCtion:HORizontal:POSition The :FUNCtion:HORizontal:POSition command sets the time value at center screen for the selected function. If the oscilloscope is not already in manual mode when you execute this command, it puts the oscilloscope in manual mode. When you select :FUNCtion:FFTMagnitude, the horizontal position is equivalent to the center frequency. This also automatically selects manual mode.
17 Function Commands :FUNCtion:HORizontal:RANGe Command :FUNCtion:HORizontal:RANGe The :FUNCtion:HORizontal:RANGe command sets the current time range for the specified function. This automatically selects manual mode. Query An integer, 1- 16, representing the selected function. A real number for the width of screen in current X- axis units (usually seconds), from - 100E- 15 to 100E15.
Function Commands 17 :FUNCtion:INTegrate Command :FUNCtion:INTegrate The :FUNCtion:INTegrate command defines a function that computes the integral of the specified operand's waveform. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
17 Function Commands :FUNCtion:INVert Command :FUNCtion:INVert The :FUNCtion:INVert command defines a function that inverts the defined operand's waveform by multiplying by - 1. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
Function Commands 17 :FUNCtion:LOWPass Command :FUNCtion:LOWPass , The :FUNCtion:LOWPass command applies a 4th order Bessel- Thompson pass filter to the source waveform. The bandwidth that you set is the 3 dB bandwidth of the filter. An integer, 1- 16, representing the selected function.
17 Function Commands :FUNCtion:MAGNify Command :FUNCtion:MAGNify The :FUNCtion:MAGNify command defines a function that is a copy of the operand. The magnify function is a software magnify. No hardware settings are altered as a result of using this function. It is useful for scaling channels, another function, or memories with the RANGe and OFFSet commands in this subsystem. An integer, 1- 16, representing the selected function.
17 Function Commands :FUNCtion:MAXimum Command :FUNCtion:MAXimum The :FUNCtion:MAXmum command defines a function that computes the maximum of each time bucket for the defined operand's waveform. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
17 Function Commands :FUNCtion:MHIStogram Command :FUNCtion:MHIStogram {MEAS1 | MEAS2 | MEAS3 | MEAS4 | MEAS5} The :FUNCtion:MHIStogram command adds a Meas Histogram function that shows a histogram of measurement values. Measurement values are captured and the histogram is updated as new acquisitions are made. You can display statistics for the histogram in the Measurements tab using the :MEASure:HISTogram commands and you can get histogram statistics using the :MEASure:HISTogram queries.
17 Function Commands :FUNCtion:MINimum Command :FUNCtion:MINimum The :FUNCtion:MINimum command defines a function that computes the minimum of each time bucket for the defined operand's waveform. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
17 Function Commands :FUNCtion:MTRend Command :FUNCtion:MTRend {MEAS1 | MEAS2 | MEAS3 | MEAS4 | MEAS5} The :FUNCtion:MTRend command adds a Meas Trend function that shows measurement values for a waveform (based on measurement threshold settings) as the waveform progresses across the screen. For every cycle, a measurement is made, and the value is displayed on the screen for the cycle.
Function Commands 17 :FUNCtion:MULTiply Command :FUNCtion:MULTiply , The :FUNCtion:MULTiply command defines a function that algebraically multiplies the first operand by the second operand. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
17 Function Commands :FUNCtion:OFFSet Command :FUNCtion:OFFSet The :FUNCtion:OFFSet command sets the voltage represented at the center of the screen for the selected function. This automatically changes the mode from auto to manual. Example An integer, 1- 16, representing the selected function. A real number for the vertical offset in the currently selected Y- axis units (normally volts).
Function Commands 17 :FUNCtion:RANGe Command :FUNCtion:RANGe The :FUNCtion:RANGe command defines the full- scale vertical axis of the selected function. This automatically changes the mode from auto to manual. Example An integer, 1- 16, representing the selected function. A real number for the full- scale vertical range, from - 100E15 to 100E15. This example sets the full- scale range for function 1 to 400 mV. myScope.
17 Function Commands :FUNCtion:SMOoth Command :FUNCtion:SMOoth [,] The :FUNCtion:SMOoth command defines a function that assigns the smoothing operator to the operand with the number of specified smoothing points. An integer, 1- 16, representing the selected function.
Function Commands 17 :FUNCtion:SQRT Command :FUNCtion:SQRT The :FUNCtion:SQRT command takes the square root of the operand. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321. Example This example turns on the square root function using channel 3. myScope.
17 Function Commands :FUNCtion:SQUare Command :FUNCtion:SQUare The :FUNCtion:SQUare command takes the square value of the operand. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321. Example This example turns on the square value command using channel 3. myScope.
Function Commands 17 :FUNCtion:SUBTract Command :FUNCtion:SUBTract , The :FUNCtion:SUBTract command defines a function that algebraically subtracts the second operand from the first operand. An integer, 1- 16, representing the selected function. {CHANnel | DIFF | COMMonmode
| FUNCtion | WMEMory | | MTRend | MSPectrum} See the discussion of possible operands in the introduction to Chapter 17, “Function Commands,” starting on page 321.
17 Function Commands :FUNCtion:VERSus Command :FUNCtion:VERSus , The :FUNCtion:VERSus command defines a function for an X- versus- Y display. The first operand defines the Y axis and the second defines the X axis. The Y- axis range and offset are initially equal to that of the first operand, and you can adjust them with the RANGe and OFFSet commands in this subsystem. An integer, 1- 16, representing the selected function.
Function Commands 17 :FUNCtion:VERTical Command :FUNCtion:VERTical {AUTO | MANual} The :FUNCtion:VERTical command sets the vertical scaling mode of the specified function to either AUTO or MANual. This command also contains the following commands and queries: • OFFset • RANge Query An integer, 1- 16, representing the selected function. :FUNCtion:VERTical? The :FUNCtion:VERTical? query returns the current vertical scaling mode of the specified function.
17 Function Commands :FUNCtion:VERTical:OFFSet Command :FUNCtion:VERTical:OFFSet The :FUNCtion:VERTical:OFFSet command sets the voltage represented at center screen for the selected function. This automatically changes the mode from auto to manual. Query An integer, 1- 16, representing the selected function. A real number for the vertical offset in the currently selected Y- axis units (normally volts).
Function Commands 17 :FUNCtion:VERTical:RANGe Command :FUNCtion:VERTical:RANGe The :FUNCtion:VERTical:RANGe command defines the full- scale vertical axis of the selected function. This automatically changes the mode from auto to manual, if the oscilloscope is not already in manual mode. Query An integer, 1- 16, representing the selected function. A real number for the full- scale vertical range, from - 100E15 to 100E15.
17 Function Commands 366 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 18 Hardcopy Commands :HARDcopy:AREA 368 :HARDcopy:DPRinter 369 :HARDcopy:FACTors 370 :HARDcopy:IMAGe 371 :HARDcopy:PRINters? 372 The HARDcopy subsystem commands set various parameters for printing the screen. The print sequence is activated when the root level command :PRINt is sent.
18 Hardcopy Commands :HARDcopy:AREA Command :HARDcopy:AREA {GRATicule | SCReen} The :HARDcopy:AREA command selects which data from the screen is to be printed. When you select GRATicule, only the graticule area of the screen is printed (this is the same as choosing Waveforms Only in the Configure Printer dialog box). When you select SCReen, the entire screen is printed. Example This example selects the graticule for printing. myScope.
Hardcopy Commands 18 :HARDcopy:DPRinter Command :HARDcopy:DPRinter { | } The :HARDcopy:DPRinter command selects the default printer to be used. An integer representing the attached printer. This number corresponds to the number returned with each printer name by the :HARDcopy:PRINters? query. A string of alphanumeric characters representing the attached printer.
18 Hardcopy Commands :HARDcopy:FACTors Command :HARDcopy:FACTors {{ON | 1} | {OFF | 0}} The :HARDcopy:FACTors command determines whether the oscilloscope setup factors will be appended to screen or graticule images. FACTors ON is the same as choosing Include Setup Information in the Configure Printer dialog box. Example This example turns on the setup factors. myScope.WriteString ":HARDCOPY:FACTORS ON" Query :HARDcopy:FACTors? The :HARDcopy:FACTors? query returns the current setup factors setting.
Hardcopy Commands 18 :HARDcopy:IMAGe Command :HARDcopy:IMAGe {NORMal | INVert} The :HARDcopy:IMAGe command prints the image normally, inverted, or in monochrome. IMAGe INVert is the same as choosing Invert Waveform Colors in the Configure Printer dialog box. Example This example sets the hard copy image output to normal. myScope.WriteString ":HARDCOPY:IMAGE NORMAL" Query :HARDcopy:IMAGe? The :HARDcopy:IMAGe? query returns the current image setting.
18 Hardcopy Commands :HARDcopy:PRINters? Query :HARDcopy:PRINters? The :HARDcopy:PRINters? query returns the currently available printers. Returned Format [:HARDcopy:PRINters?] [,] The number of printers currently installed. The printer number and the name of an installed printer. The word DEFAULT appears next to the printer that is the currently selected default printer.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 19 Histogram Commands :HISTogram:AXIS 375 :HISTogram:MODE 376 :HISTogram:SCALe:SIZE 377 :HISTogram:WINDow:DEFault 378 :HISTogram:WINDow:SOURce 379 :HISTogram:WINDow:LLIMit 380 :HISTogram:WINDow:RLIMit 381 :HISTogram:WINDow:BLIMit 382 :HISTogram:WINDow:TLIMit 383 The HISTogram commands and queries control the histogram features.
19 Histogram Commands 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.
Histogram Commands 19 :HISTogram:AXIS Command :HISTogram:AXIS {VERTical | HORizontal} The :HISTogram:AXIS command selects the type of histogram. A horizontal histogram can be used to measure time related information like jitter. A vertical histogram can be used to measure voltage related information like noise. Example This example defines a vertical histogram. myScope.
19 Histogram Commands :HISTogram:MODE Command NOTE :HISTogram:MODE {OFF | MEASurement | WAVeforms} The MEASurement parameter is only available when the E2681A Jitter Analysis option is 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 E2681A Jitter Analysis Software is installed.
Histogram Commands 19 :HISTogram:SCALe:SIZE Command :HISTogram:SCALe:SIZE The :HISTogram:SCALe:SIZE command sets histogram size for vertical and horizontal mode. Example The size is from 1.0 to 8.0 for the horizontal mode and from 1.0 to 10.0 for the vertical mode. This example sets the histogram size to 3.5. myScope.WriteString ":HISTOGRAM:SCALE:SIZE 3.5" Query :HISTogram:SCALe:SIZE? The :HISTogram:SCALe:SIZE? query returns the correct size of the histogram.
19 Histogram Commands :HISTogram:WINDow:DEFault Command :HISTogram:WINDow:DEFault The :HISTogram:WINDow:DEFault command positions the histogram markers to a default location on the display. Each marker will be positioned one division off the left, right, top, and bottom of the display. Example This example sets the histogram window to the default position. myScope.
Histogram Commands 19 :HISTogram:WINDow:SOURce Command :HISTogram:WINDow:SOURce {CHANnel | COMMonmode | DIFFerential
| FUNCtion | WMEMory | CLOCk | EQUalized | MTRend | MSPectrum} The :HISTogram:WINDow:SOURce command selects the source of the histogram window. The histogram window will track the source's vertical and horizontal scale. An integer, 1- 4. An integer, 1- 2. An integer, 1- 16.
19 Histogram Commands :HISTogram:WINDow:LLIMit Command :HISTogram:WINDow:LLIMit The :HISTogram:WINDow:LLIMit command moves the Ax marker (left limit) of the histogram window. The histogram window determines the portion of the display used to build the database for the histogram. The histogram window markers will track the scale of the histogram window source. Example A real number that represents the left boundary of the histogram window.
Histogram Commands 19 :HISTogram:WINDow:RLIMit Command :HISTogram:WINDow:RLIMit The :HISTogram:WINDow:RLIMit command moves the Bx marker (right limit) of the histogram window. The histogram window determines the portion of the display used to build the database used for the histogram. The histogram window markers will track the scale of the histogram window source. Example A real number that represents the right boundary of the histogram window.
19 Histogram Commands :HISTogram:WINDow:BLIMit Command :HISTogram:WINDow:BLIMit The :HISTogram:WINDow:BLIMit command moves the Ay marker (bottom limit) of the histogram window. The histogram window determines the portion of the display used to build the database used for the histogram. The histogram window markers will track the scale of the histogram window source. Example A real number that represents the bottom boundary of the histogram window.
Histogram Commands 19 :HISTogram:WINDow:TLIMit Command :HISTogram:WINDow:TLIMit The :HISTogram:WINDow:TLIMit command moves the By marker (top limit) of the histogram window. The histogram window determines the portion of the display used to build the database used for the histogram. The histogram window markers will track the scale of the histogram window source. Example A real number that represents the top boundary of the histogram window.
19 Histogram Commands 384 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 20 InfiniiScan (ISCan) Commands :ISCan:DELay 386 :ISCan:MEASurement:FAIL 387 :ISCan:MEASurement:LLIMit 388 :ISCan:MEASurement 389 :ISCan:MEASurement:ULIMit 390 :ISCan:MODE 391 :ISCan:NONMonotonic:EDGE 392 :ISCan:NONMonotonic:HYSTeresis 393 :ISCan:NONMonotonic:SOURce 394 :ISCan:RUNT:HYSTeresis 395 :ISCan:RUNT:LLEVel 396 :ISCan:RUNT:SOURce 397 :ISCan:RUNT:ULEVel 398 :ISCan:SERial:PATTern 399 :ISCan:SERial:SOURce 400 :ISCan:ZONE:HIDE 401 :ISCa
20 InfiniiScan (ISCan) Commands :ISCan:DELay Command :ISCan:DELay {OFF | } 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 Example Turns off the delay from the hardware trigger. Sets the amount of time that the InfiniiScan trigger is delayed from the hardware trigger. The following example causes the oscilloscope to delay by 1 ms. myScope.
20 InfiniiScan (ISCan) Commands :ISCan:MEASurement:FAIL Command :ISCan:MEASurement:FAIL {INSide | OUTSide} The :ISCan:MEASurement:FAIL command sets the fail condition for an individual measurement. The conditions for a test failure are set on the measurement selected by the :ISCan:MEASurement command. When a measurement failure is detected by the limit test the oscilloscope triggers and the trigger action is executed.
20 InfiniiScan (ISCan) Commands :ISCan:MEASurement:LLIMit Command :ISCan:MEASurement:LLIMit 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. Example A real number. The following example sets the lower test limit to 1.0. myScope.WriteString ":ISCAN:MEASUREMENT:LLIMIT 1.
InfiniiScan (ISCan) Commands 20 :ISCan:MEASurement Command :ISCan:MEASurement {MEAS1 | MEAS2 | MEAS3 | MEAS4 | MEAS5} The :ISCan:MEASurement command selects the current source for Measurement Limit Test Trigger. It selects one of the active measurements as referred to by their position in the Measurement tab area at the bottom of the screen. Measurements are numbered from left to right in the Measurements tab area of the screen.
20 InfiniiScan (ISCan) Commands :ISCan:MEASurement:ULIMit Command :ISCan:MEASurement:ULIMit The :ISCan:MEASurement:ULIMit (upper limit) command sets the upper test limit for the active measurement currently selected by the :ISCan:MEASurement command. Example A real number. The following example sets the upper limit of the currently selected measurement to 500 mV. myScope.
20 InfiniiScan (ISCan) Commands :ISCan:MODE Command :ISCan:MODE {OFF | MEASurement | NONMonotonic | RUNT | SERial | ZONE} The :ISCan:MODE command selects the type of InfiniiScan trigger mode. The Measurement, Runt, Zone Qualify, and Non- monotonic Edge InfiniiScan modes can be set using this command. OFF MEASurement NONMonotonic Turns off the InfiniiScan trigger mode. Sets the Measurement Limit trigger mode. Sets the Non- monotonic edge trigger mode. RUNT Sets the Runt trigger mode.
20 InfiniiScan (ISCan) Commands :ISCan:NONMonotonic:EDGE Command :ISCan:NONMonotonic:EDGE {EITHer | FALLing | RISing} The :ISCan:NONMonotonic:EDGE command selects the rising edge, the falling edge, or either edge for the Non- monotonic edge trigger mode. EITHer Sets the edge used by the Non- monotonic edge trigger to both rising and falling edges. FALLing Sets the edge used by the Non- monotonic edge trigger to falling edges.
InfiniiScan (ISCan) Commands 20 :ISCan:NONMonotonic:HYSTeresis Command :ISCan:NONMonotonic:HYSTeresis The :ISCan:NONMonotonic:HYSTeresis command sets the hysteresis value used for the Non- monotonic Edge trigger. is a real number for the hysteresis. Example The following example sets the hysteresis value used by the Non- monotonic trigger mode to 10 mV. myScope.
20 InfiniiScan (ISCan) Commands :ISCan:NONMonotonic:SOURce Command :ISCan:NONMonotonic:SOURce CHANnel The :ISCan:NONMonotonic:SOURce command sets the source used for the Non- monotonic Edge trigger. Example is an integer from 1- 4. The following example sets the source used by the Non- monotonic trigger mode to channel 1. myScope.WriteString ":ISCAN:NONMONOTONIC:SOURCE CHANNEL1" Query :ISCan:NONMonotonic:SOURce? The query returns the source used by the Non- monotonic Edge trigger mode.
InfiniiScan (ISCan) Commands 20 :ISCan:RUNT:HYSTeresis Command :ISCan:RUNT:HYSTeresis The :ISCan:RUNT:HYSTeresis command sets the hysteresis value used for the Runt trigger. 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.
20 InfiniiScan (ISCan) Commands :ISCan:RUNT:LLEVel Command ISCan:RUNT:LLEVel The :ISCan:RUNT:LLEVel (lower level) command sets the lower level limit for the Runt trigger mode. Example A real number. 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.
20 InfiniiScan (ISCan) Commands :ISCan:RUNT:SOURce Command :ISCan:RUNT:SOURce CHANnel The :ISCan:RUNT:SOURce command sets the source used for the Runt trigger. Example is an integer from 1- 4. 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.
20 InfiniiScan (ISCan) Commands :ISCan:RUNT:ULEVel Command :ISCan:RUNT:ULEVel The :ISCan:RUNT:ULEVel (upper level) command sets the upper level limit for the Runt trigger mode. Example A real number. 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.
InfiniiScan (ISCan) Commands 20 :ISCan:SERial:PATTern Command :ISCan:SERial:PATTern The :ISCan:SERial:PATTern command sets the pattern used for the Serial trigger. Example is a 1, 0, or X binary character string of up to 80 characters. The pattern can only be expressed in the binary format. The following example sets the pattern used by the Serial trigger to 101100. myScope.
20 InfiniiScan (ISCan) Commands :ISCan:SERial:SOURce Command :ISCan:SERial:SOURce CHANnel The :ISCan:SERial:SOURce command sets the source used for the Serial trigger. Example is an integer from 1- 4. 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.
InfiniiScan (ISCan) Commands 20 :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? The query returns the current zone hide setting. Returned Format Example [:ISCan:ZONE:HIDE]{1 | 0}; The following example returns the current zone hide setting.
20 InfiniiScan (ISCan) Commands :ISCan:ZONE:SOURce Command :ISCan:ZONE:SOURce CHANnel The :ISCan:ZONE:SOURce command sets the source used for the zone qualify trigger. Example is an integer from 1- 4. The following example sets the source used by the zone qualify trigger to channel 1. myScope.WriteString ":ISCAN:ZONE:SOURCE CHANNEL1" Query :ISCan:ZONE:SOURce? The query returns the source used by the zone qualify trigger.
InfiniiScan (ISCan) Commands 20 :ISCan:ZONE:MODE Command :ISCan:ZONE:MODE {INTersect | NOTintersect | OINTersect | ONOTinterse ct} The :ISCan:ZONE: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. Example is an integer from 1- 4. The following example sets the mode to intersect for zone 1. myScope.
20 InfiniiScan (ISCan) Commands :ISCan:ZONE:PLACement Command :ISCan:ZONE:PLACement ,,, The :ISCan:ZONE:PLACement command sets the location and size of a zone for the zone qualify trigger mode. is an integer from 1- 4. a real number defining the width of a zone in seconds. is a real number defining the height of a zone in volts. is a real number defining the x coordinate of the center of the zone in seconds.
InfiniiScan (ISCan) Commands 20 :ISCan:ZONE:STATe Command :ISCan:ZONE:STATe {{ON | 1} | {OFF | 0}} The :ISCan:ZONE:STATe command turns a zone off or on for the zone qualify trigger. Example is an integer from 1- 4. The following example turns on zone 2. myScope.WriteString ":ISCAN:ZONE2:STATE ON" Query :ISCan:ZONE:STATe? The query returns the state value for a zone.
20 InfiniiScan (ISCan) Commands 406 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 21 Limit Test Commands :LTESt:FAIL 408 :LTESt:LLIMit 409 :LTESt:MEASurement 410 :LTESt:RESults? 411 :LTESt:TEST 412 :LTESt:ULIMit 413 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 four measurements. The action taken when the test fails is also controlled with commands in this subsystem.
21 Limit Test Commands :LTESt:FAIL Command :LTESt:FAIL {INSide | OUTSide} The :LTESt:FAIL command sets the fail condition for an individual measurement. The conditions for a test failure are set on the source selected with the last LTESt:MEASurement command. When a measurement failure is detected by the limit test, the fail action conditions are executed, and there is the potential to generate an SRQ.
Limit Test Commands 21 :LTESt:LLIMit (Lower Limit) Command :LTESt:LLIMit The :LTESt:LLIMit (Lower LIMit) command sets the lower test limit for the active measurement currently selected by the :LTESt:MEASurement command. Example A real number. The following example sets the lower test limit to 1.0. myScope.WriteString ":LTEST:LLIMIT 1.
21 Limit Test Commands :LTESt:MEASurement Command :LTESt:MEASurement {MEAS1 | MEAS2 | MEAS3 | MEAS4 | MEAS5} The :LTESt:MEASurement command selects the current source for Limit Test for the ULIMit and LLIMit commands. It selects one of the active measurements as referred to by their position in the measurement window on the bottom of the screen. Measurements are numbered from left to right. Example The following example selects the first measurement as the source for the limit testing commands. myScope.
Limit Test Commands 21 :LTESt:RESults? Query :LTESt:RESults? {MEAS1 | MEAS2 | MEAS3 | MEAS4 | MEAS5} The query returns the measurement results for selected measurement. The values returned are the failed minimum value (Fail Min), the failed maximum value (Fail Max), and the total number of measurements made (# of Meas). Returned Format [:LTESt:RESults] ,, A real number representing the total number of measurements that have failed the minimum limit.
21 Limit Test Commands :LTESt:TEST Command :LTESt:TEST {{ON | 1} {OFF | 0}} The LTESt:TEST command controls the execution of the limit test function. ON allows the limit test to run over all of the active measurements. When the limit test is turned on, the limit test results are displayed on screen in a window below the graticule. Example The following example turns off the limit test function. myScope.WriteString ":LTEST:TEST OFF" Query :LTESt:TEST? The query returns the state of the TEST control.
Limit Test Commands 21 :LTESt:ULIMit (Upper Limit) Command :LTESt:ULIMit The :LTESt:ULIMit (Upper LIMit) command sets the upper test limit for the active measurement currently selected by the last :LTESt:MEASurement command. Example A real number. The following example sets the upper limit of the currently selected measurement to 500 milli. myScope.
21 Limit Test Commands 414 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 22 Lister Commands :LISTer:DATA 416 :LISTer:DISPlay 417 The LISTer subsystem is used to turn on/off the serial decode Lister display and return data from the Lister display.
22 Lister Commands :LISTer:DATA Query :LISTer:DATA? {SBUS1 | SBUS2 | SBUS3 | SBUS4} The :LISTer:DATA? query returns the lister data.
Lister Commands 22 :LISTer:DISPlay Command :LISTer:DISPlay ::= {OFF | ON | SBUS1 | SBUS2 | SBUS3 | SBUS4} The :LISTer:DISPlay command configures which of the serial buses to display in the Lister, or whether the Lister is off. "ON" or "1" is the same as "SBUS1". When set to "ALL", the decode information for different buses is interleaved in time. Serial bus decode must be on before it can be displayed in the Lister.
22 Lister Commands 418 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 23 Marker Commands :MARKer:CURSor? 420 :MARKer:MEASurement:MEASurement 421 :MARKer:MODE 422 :MARKer:TSTArt 423 :MARKer:TSTOp 424 :MARKer:VSTArt 425 :MARKer:VSTOp 426 :MARKer:X1Position 427 :MARKer:X2Position 428 :MARKer:X1Y1source 429 :MARKer:X2Y2source 431 :MARKer:XDELta? 433 :MARKer:Y1Position 434 :MARKer:Y2Position 435 :MARKer:YDELta? 436 The commands in the MARKer subsystem specify and query the settings of the time markers (X axis) an
23 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.
23 Marker Commands :MARKer:MEASurement:MEASurement Command :MARKer:MEASurement:MEASurement {MEASurement} The :MARKer:MEASurement:MEASurement command specifies which measurement markers track. This setting is only used when the :MARKer:MODE is set to MEASurement. Example MEASurement is an integer, 1- 10. This example sets the markers to track the fourth measurement. myScope.
23 Marker Commands :MARKer:MODE Command :MARKer:MODE {OFF | MANual | WAVeform | MEASurement | FFTPeak} The :MARKer:MODE command sets the marker mode: • OFF — Removes the marker information from the display. • MANual — Enables manual placement of markers A and B. • WAVeform — Tracks the current waveform. • MEASurement — Tracks the most recent measurement. • FFTPeak — Tracks the current FFT peak that has been navigated to. Example This example sets the marker mode to waveform. myScope.
23 Marker Commands :MARKer:TSTArt Command :MARKer:TSTArt The :MARKer:TSTArt command sets the Ax marker position. The :MARKer:X1Position command described in this chapter also sets the Ax marker position. NOTE Use :MARKer:X1Position Instead of :MARKer:TSTArt The :MARKer:TSTArt command and query perform the same function as the :MARKer:X1Position command and query. The :MARKer:TSTArt command is provided for compatibility with programs written for previous oscilloscopes.
23 Marker Commands :MARKer:TSTOp Command :MARKer:TSTOp The :MARKer:TSTOp command sets the Bx marker position. The :MARKer:X2Position command described in this chapter also sets the Bx marker position. NOTE Use :MARKer:X2Position Instead of :MARKer:TSTOp The :MARKer:TSTOp command and query perform the same function as the :MARKer:X2Position command and query. The :MARKer:TSTOp command is provided for compatibility with programs written for previous oscilloscopes.
23 Marker Commands :MARKer:VSTArt Command :MARKer:VSTArt 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. NOTE Use :MARKer:Y1Position Instead of :MARKer:VSTArt The :MARKer:VSTArt command and query perform the same function as the :MARKer:Y1Position command and query.
23 Marker Commands :MARKer:VSTOp Command :MARKer:VSTOp The :MARKer:VSTOp command sets the By marker position. The :MARKer:Y2Position command described in this chapter also sets the By marker position. NOTE Use :MARKer:Y2Position Instead of :MARKer:VSTOp The :MARKer:VSTOp command and query perform the same function as the :MARKer:Y2Position command and query. The :MARKer:VSTOp command is provided for compatibility with programs written for previous oscilloscopes.
Marker Commands 23 :MARKer:X1Position Command :MARKer:X1Position The :MARKer:X1Position command sets the Ax marker position, and moves the Ax marker to the specified time with respect to the trigger time. Example A real number for the time at the Ax marker in seconds. This example sets the Ax marker to 90 ns. myScope.WriteString ":MARKER:X1POSITION 90E-9" Query :MARKer:X1Position? The :MARKer:X1Position? query returns the time at the Ax marker position.
23 Marker Commands :MARKer:X2Position Command :MARKer:X2Position The :MARKer:X2Position command sets the Bx marker position and moves the Bx marker to the specified time with respect to the trigger time. Example A real number for the time at the Bx marker in seconds. This example sets the Bx marker to 90 ns. myScope.WriteString ":MARKER:X2POSITION 90E-9" Query :MARKer:X2Position? The :MARKer:X2Position? query returns the time at Bx marker in seconds.
23 Marker Commands :MARKer:X1Y1source Command :MARKer:X1Y1source {CHANnel | COMMonmode | DIFFerential
| FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized | HISTogram | DIGital | BUS} 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.
23 Marker Commands The :MARKer:X1Y1source? query returns the current source for markers Ax and Ay. Returned Format Example [:MARKer:X1Y1source] {CHANnel | COMMonmode | DIFFerential
| FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized | HISTogram | DIGital | BUS} 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.
23 Marker Commands :MARKer:X2Y2source Command :MARKer:X2Y2source {CHANnel | COMMonmode | DIFFerential
| FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized | HISTogram | DIGital | BUS} 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.
23 Marker Commands The :MARKer:X2Y2source? query returns the current source for markers Bx and By. Returned Format Example [:MARKer:X2Y2source] {CHANnel | COMMonmode | DIFFerential
| FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized | HISTogram | DIGital | BUS} 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.
Marker Commands 23 :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 difference between Ax and Bx time markers in seconds. Example This example returns the current time between the Ax and Bx time markers to the numeric variable, varTime, then prints the contents of the variable to the computer's screen. myScope.
23 Marker Commands :MARKer:Y1Position Command :MARKer:Y1Position The :MARKer:Y1Position command sets the Ay marker position on the specified source. Example A real number for the current measurement unit value at Ay (volts, amps, or watts). This example sets the Ay marker to 10 mV. myScope.WriteString ":MARKER:Y1POSITION 10E-3" Query :MARKer:Y1Position? The :MARKer:Y1Position? query returns the current measurement unit level at the Ay marker position.
Marker Commands 23 :MARKer:Y2Position Command :MARKer:Y2Position The :MARKer:Y2Position command sets the By marker position on the specified source. Example A real number for the current measurement unit value at By (volts, amps, or watts). This example sets the By marker to- 100 mV. myScope.WriteString ":MARKER:Y2POSITION -100E-3" Query :MARKer:Y2Position? The :MARKer:Y2Position? query returns the current measurement unit level at the By marker position.
23 Marker Commands :MARKer:YDELta? Query :MARKer:YDELta? The :MARKer:YDELta? query returns the current measurement unit difference between Ay and By. Ydelta = value at By - value at Ay Returned Format [:MARKer:YDELta] Measurement unit difference between Ay and By. Example This example returns the voltage difference between Ay and By to the numeric variable, varVolts, then prints the contents of the variable to the computer's screen. myScope.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 24 Mask Test Commands :MTESt:ALIGn 439 :MTESt:AlignFIT 440 :MTESt:AMASk:CREate 442 :MTESt:AMASk:SOURce 443 :MTESt:AMASk:SAVE 445 :MTESt:AMASk:UNITs 446 :MTESt:AMASk:XDELta 447 :MTESt:AMASk:YDELta 448 :MTESt:AUTO 449 :MTESt:AVERage 450 :MTESt:AVERage:COUNt 451 :MTESt:COUNt:FAILures? 452 :MTESt:COUNt:FUI? 453 :MTESt:COUNt:FWAVeforms? 454 :MTESt:COUNt:UI? 455 :MTESt:COUNt:WAVeforms? 456 :MTESt:DELete 457 :MTESt:ENABle 458 :MTESt:FOLDing 459 :M
24 Mask Test Commands :MTESt:SCALe:Y2 475 :MTESt:SOURce 476 :MTESt:STARt 477 :MTESt:STOP 478 :MTESt:STIMe 479 :MTESt:TITLe? 480 :MTESt:TRIGger:SOURce 481 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.
Mask Test Commands 24 :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.
24 Mask Test Commands :MTESt:AlignFIT Command :MTESt:AlignFIT {EYEAMI | EYECMI | EYENRZ | FANWidth | FAPeriod | FAPWidth | FYNWidth | FYPWidth | NONE | NWIDth | PWIDth | TMAX | TMIN} The :MTESt:AlignFIT command specifies the alignment type for aligning a mask to a waveform. The pulse mask standard has rules that determine which controls the oscilloscope can adjust or change during the alignment process.
Mask Test Commands Returned Format 24 [:MTESt:AlignFIT] {EYEAMI | EYECMI | EYENRZ | FANWidth | FAPeriod | FAPWidth | FYNWidth | FYPWidth | NONE | NWIDth | PWIDth | TMAX | TMIN} Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 441
24 Mask Test Commands :MTESt:AMASk:CREate Command :MTESt:AMASk:CREate The :MTESt:AMASk:CREate command automatically constructs a mask around the current selected channel, using the tolerance parameters defined by the AMASk:XDELta, AMASk:YDELta, and AMASk:UNITs commands. The mask only encompasses the portion of the waveform visible on the display, so you must ensure that the waveform is acquired and displayed consistently to obtain repeatable results.
Mask Test Commands 24 :MTESt:AMASk:SOURce Command :MTESt:AMASk:SOURce {CHANnel | COMMonmode | DIFFerential
| WMEMory | FUNCtion | CLOCk | EQUalized | MTRend | MSPectrum} The :MTESt:AMASk:SOURce command selects the source for the interpretation of the AMASk:XDELta and AMASk:YDELta parameters when AMASk:UNITs is set to CURRent. When UNITs are CURRent, the XDELta and YDELta parameters are defined in terms of the channel units, as set by the :CHANnel:UNITs command, of the selected source.
24 Mask Test Commands strAmask_source = myScope.ReadString Debug.
Mask Test Commands 24 :MTESt:AMASk:SAVE Command NOTE :MTESt:AMASk:{SAVE | STORe} "" The :MTESt:AMASk:STORe command is equivalent to the :MTESt:AMASk:SAVE command. The :MTESt:AMASk:SAVE command saves the automask generated mask to a file. If an automask has not been generated, an error occurs. Example An MS- DOS compatible name of the file, a maximum of 254 characters long (including the path name, if used).
24 Mask Test Commands :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.
Mask Test Commands 24 :MTESt:AMASk:XDELta Command :MTESt:AMASk:XDELta The :MTESt:AMASk:XDELta command sets the tolerance in the X direction around the waveform for the automasking feature. The absolute value of the tolerance will be added and subtracted to horizontal values of the waveform to determine the boundaries of the mask. Example A value for the horizontal tolerance.
24 Mask Test Commands :MTESt:AMASk:YDELta Command :MTESt:AMASk:YDELta The :MTESt:AMASk:YDELta command sets the vertical tolerance around the waveform for the automasking feature. The absolute value of the tolerance will be added and subtracted to vertical values of the waveform to determine the boundaries of the mask. This command requires that mask testing be enabled, otherwise a settings conflict error message is displayed. See :MTESt:ENABle for information on enabling mask testing.
Mask Test Commands 24 :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.
24 Mask Test Commands :MTESt:AVERage Command :MTESt:AVERage {{ON | 1} | {OFF | 0}} The :MTESt:AVERage command enables or disables averaging. When ON, the oscilloscope acquires multiple data values for each time bucket, and averages them. When OFF, averaging is disabled. To set the number of averages, use the :MTESt:AVERage:COUNt command described next. The :ACQuire:AVERage command performs the same function as this command. Averaging is not available in PDETect mode.
24 Mask Test Commands :MTESt:AVERage:COUNt Command :MTESt:AVERage:COUNt The :MTESt:AVERage:COUNt command sets the number of averages for the waveforms. In the AVERage mode, the :MTESt:AVERage:COUNt command specifies the number of data values to be averaged for each time bucket before the acquisition is considered complete for that time bucket. The :ACQuire:AVERage:COUNt command performs the same function as this command.
24 Mask Test Commands :MTESt:COUNt:FAILures? Query :MTESt:COUNt:FAILures? REGion The MTESt:COUNt:FAILures? query returns the number of failures that occurred within a particular mask region. The value 9.999E37 is returned if mask testing is not enabled or if you specify a region number that is unused. Returned Format Example An integer, 1 through 8, designating the region for which you want to determine the failure count.
Mask Test Commands 24 :MTESt:COUNt:FUI? Query :MTESt:COUNt:FUI? The MTESt:COUNt:FUI? query returns the number of unit interval failures that have occurred. Returned Format Example [:MTESt:COUNt:FUI?] The number of unit interval failures. This example determines the current number of unit interval failures and prints it to the computer screen. Dim strFailures As String myScope.WriteString ":MTEST:COUNT:FUI?" strFailures = myScope.ReadString Debug.
24 Mask Test Commands :MTESt:COUNt:FWAVeforms? Query :MTESt:COUNt:FWAVeforms? The :MTESt:COUNt:FWAVeforms? query returns the total number of failed waveforms in the current mask test run. This count is for all regions and all waveforms, so if you wish to determine failures by region number, use the COUNt:FAILures? query. This count may not always be available.
Mask Test Commands 24 :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 Example [:MTESt:COUNt:UI?] The number of unit intervals tested. This example determines the current number of unit intervals tested and prints it to the computer screen. Dim strUnit_intervals As String myScope.WriteString ":MTEST:COUNT:uUI?" strUnit_intervals = myScope.
24 Mask Test Commands :MTESt:COUNt:WAVeforms? Query :MTESt:COUNt:WAVeforms? The :MTESt:COUNt:WAVeforms? query returns the total number of waveforms acquired in the current mask test run. The value 9.999E37 is returned if mask testing is not enabled. Returned Format Example [:MTESt:COUNt:WAVeforms] The total number of waveforms for the current test run.
Mask Test Commands 24 :MTESt:DELete Command :MTESt:DELete The :MTESt:DELete command clears the currently loaded mask. Example This example clears the currently loaded mask. myScope.
24 Mask Test Commands :MTESt:ENABle Command :MTESt:ENABle {{ON | 1} | {OFF | 0}} The :MTESt:ENABle command enables or disables the mask test features. ON Enables the mask test features. OFF Disables the mask test features. Example This example enables the mask test features. myScope.WriteString ":MTEST:ENABLE ON" Query :MTESt:ENABle? The :MTESt:ENABle? query returns the current state of mask test features.
Mask Test Commands 24 :MTESt:FOLDing (Clock Recovery software only) Command NOTE This command is only available when the E2688A Clock Recovery Software is installed. :MTESt:FOLDing {{ON | 1} | {OFF | 0}} The :MTESt:FOLDing command enables (ON) or disables (OFF) the display of the real time eye. When enabled, an eye diagram of the data will be generated superimposed on the recovered clock. Refer to the :MEASure:CLOCk commands for clock recovery.
24 Mask Test Commands :MTESt:FOLDing:BITS Command NOTE This command is only available when the E2688A Clock Recovery Software is installed. :MTESt:FOLDing:BITS {BOTH | DEEMphasis | TRANsition | PATTern, "", } The :MTESt:FOLDing:BITS command determines the type of data bits used to create the eye pattern. The transition bits are greater in amplitude than the deemphasis bits. The PCI Express standard requires that compliance mask testing be done for both bit types.
24 Mask Test Commands :MTESt:FOLDing:FAST Command :MTESt:FOLDing:FAST {{ON | 1} | {OFF | 0}} 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.
24 Mask Test Commands :MTESt:HAMPlitude Command :MTESt:HAMPlitude The :MTESt:HAMPlitude command sets the maximum pulse amplitude value that passes the pulse standard. For some of the pulse communications standards, a pulse has a range of amplitude values and still passes the standard. This command sets the upper limit used during mask testing. Example A real number that represents the maximum amplitude in volts of a pulse as allowed by the pulse standard.
24 Mask Test Commands :MTESt:IMPedance Command :MTESt:IMPedance {NONE | IMP75 | IMP100 | IMP110 | IMP120} The :MTESt:IMPedance command sets the desired probe impedance of the channel being used for mask testing. This impedance value is used when starting a mask test to determine whether or not the correct Infiniium probe is connected and in the case of the E2621A if the switch is set to the correct impedance value. Infiniium has an AutoProbe interface that detects probes that have Probe ID resistors.
24 Mask Test Commands :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.
Mask Test Commands 24 :MTESt:LAMPlitude Command :MTESt:LAMPlitude The :MTESt:LAMPlitude command sets the minimum pulse amplitude value that passes the pulse standard. For some of the pulse communications standards, a pulse has a range of amplitude values and still passes the standard. This command sets the lower limit used during mask testing. Example A real number that represents the minimum amplitude in volts of a pulse as allowed by the pulse standard.
24 Mask Test Commands :MTESt:LOAD Command :MTESt:LOAD "" The :MTESt:LOAD command loads the specified mask file. The default path for mask files is C:\Documents and Settings\All Users\Documents\ Infiniium\MASKS. To use a different path, specify the complete path and file name. Example An MS- DOS compatible name of the file, a maximum of 254 characters long (including the path name, if used). This example loads the mask file named "140md_itu_1.msk". myScope.
24 Mask Test Commands :MTESt:NREGions? Query :MTESt:NREGions? The :MTESt:NREGions? query returns the number of regions that define the mask. Returned Format Example [:MTESt:NREGions] An integer from 0 to 8. This example returns the number of mask regions. myScope.WriteString ":SYSTEM:HEADER OFF" myScope.WriteString ":MTEST:NREGIONS?" varRegions = myScope.ReadNumber Debug.
24 Mask Test Commands :MTESt:PROBe:IMPedance? Query :MTESt:PROBe:IMPedance? The :MTESt:PROBe:IMPedance? query returns the impedance setting for the E2621A and E2622A probes for the current mask test channel. Returned Format Example [:MTESt:PROBe:IMPedance] An unquoted string: 75, 100, 110, 120, or NONE This example returns the impedance setting for the probe. Dim strImpedance As String myScope.WriteString ":SYSTEM:HEADER OFF" myScope.
Mask Test Commands 24 :MTESt:RUMode Command :MTESt:RUMode {FORever | TIME, | {WAVeforms, }} The :MTESt:RUMode command determines the termination conditions for the mask test. The choices are FORever, TIME, or WAVeforms. If WAVeforms is selected, a second parameter is required indicating the number of failures that can occur or the number of samples or waveforms that are to be acquired. FORever FORever runs the Mask Test until the test is turned off.
24 Mask Test Commands :MTESt:RUMode:SOFailure Command :MTESt:RUMode:SOFailure {{ON | 1} | {OFF | 0}} The :MTESt:RUMode:SOFailure command enables or disables the Stop On Failure run until criteria. When a mask test is run and a mask violation is detected, the mask test is stopped and the acquisition system is stopped. Example This example enables the Stop On Failure run until criteria. myScope.
Mask Test Commands 24 :MTESt:SCALe:BIND Command :MTESt:SCALe:BIND {{ON | 1} | {OFF | 0}} The :MTESt:SCALe:BIND command enables or disables Bind 1 & 0 Levels (Bind - 1 & 0 Levels for inverted masks) control. If the Bind 1 & 0 Levels control is enabled, the 1 Level and the 0 Level controls track each other. Adjusting either the 1 Level or the 0 Level control shifts the position of the mask up or down without changing its size.
24 Mask Test Commands :MTESt:SCALe:X1 Command :MTESt:SCALe:X1 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.
24 Mask Test Commands :MTESt:SCALe:XDELta Command :MTESt:SCALe:XDELta The :MTESt:SCALe:XDELta command defines the position of the X2 marker with respect to the X1 marker. In the mask test coordinate system, the X1 marker defines where X=0; thus, the X2 marker defines where X=1. Because all X vertices of the regions defined for mask testing are normalized with respect to X1 and ΔX, redefining ΔX also moves those vertices to stay in the same locations with respect to X1 and ΔX.
24 Mask Test Commands :MTESt:SCALe:Y1 Command :MTESt:SCALe:Y1 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. Example A voltage value specifying the point at which Y=0.
Mask Test Commands 24 :MTESt:SCALe:Y2 Command :MTESt:SCALe:Y2 The :MTESt:SCALe:Y2 command defines the Y2 marker in the coordinate system for mask testing. All Y values of vertices in the coordinate system are defined with respect to the boundaries defined by SCALe:Y1 and SCALe:Y2 according to the following equation: 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.
24 Mask Test Commands :MTESt:SOURce Command :MTESt:SOURce {CHANnel | COMMonmode | DIFFerential
| FUNCtion | EQUalized} The :MTESt:SOURce command selects the channel which is configured by the commands contained in a mask file when it is loaded. The EQUalized source is only available if the oscilloscope has the High Speed Serial option and the Serial Data Equalization option installed and the features are enabled. This command uses the Feed- Forward Equalized (FFE) signal as the source.
Mask Test Commands 24 :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.
24 Mask Test Commands :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.
Mask Test Commands 24 :MTESt:STIMe Command :MTESt:STIMe 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. Example An integer from 1 to 120 seconds representing the time between triggers (not the time that it takes to finish the alignment.
24 Mask Test Commands :MTESt:TITLe? Query :MTESt:TITLe? The :MTESt:TITLe? query returns the mask title which is a string of up to 23 characters. The title is displayed in the mask test dialog box and mask test tab when a mask file is loaded. Returned Format Example [:MTESt:TITLe] A string of up to 23 ASCII characters which is the mask title. This example places the mask title in the string variable and prints the contents to the computer's screen.
Mask Test Commands 24 :MTESt:TRIGger:SOURce Command :MTESt:TRIGger:SOURce CHANnel The :MTESt:TRIGger:SOURce command sets the channel or function to use as the trigger. Mask testing must be enabled before using this command. Example An integer, 1- 4. This example sets the mask trigger source to channel 1. myScope.WriteString ":MTEST:TRIGGER:SOURCE CHANNEL1" Query :MTESt:TRIGger:SOURce? The query returns the currently selected mask test trigger source.
24 Mask Test Commands 482 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 25 Measure Commands :MEASure:AREA 492 :MEASure:BINTerval 493 :MEASure:BPERiod 494 :MEASure:BWIDth 495 :MEASure:CDRRATE 496 :MEASure:CGRade:CROSsing 497 :MEASure:CGRade:DCDistortion 498 :MEASure:CGRade:EHEight 499 :MEASure:CGRade:EWIDth 500 :MEASure:CGRade:EWINdow 501 :MEASure:CGRade:JITTer 502 :MEASure:CGRade:QFACtor 503 :MEASure:CHARge 504 :MEASure:CLEar 505 :MEASure:CLOCk 506 :MEASure:CLOCk:METHod 507 :MEASure:CLOCk:METHod:ALIGn 509 :MEAS
25 Measure Commands :MEASure:EDGE 539 :MEASure:ETOedge 541 :MEASure:FALLtime 542 :MEASure:FFT:DFRequency 544 :MEASure:FFT:DMAGnitude 546 :MEASure:FFT:FREQuency 548 :MEASure:FFT:MAGNitude 549 :MEASure:FFT:PEAK1 550 :MEASure:FFT:PEAK2 551 :MEASure:FFT:THReshold 552 :MEASure:FREQuency 553 :MEASure:HISTogram:HITS 555 :MEASure:HISTogram:M1S 556 :MEASure:HISTogram:M2S 557 :MEASure:HISTogram:M3S 558 :MEASure:HISTogram:MAX 559 :MEASure:HISTogram:MEAN 560 :MEASure:HISTogram:MEDian 561 :MEASure:HISTogram:MIN 562 :ME
Measure Commands 25 :MEASure:JITTer:TRENd:SMOoth:POINts 584 :MEASure:JITTer:TRENd:VERTical 585 :MEASure:JITTer:TRENd:VERTical:OFFSet 586 :MEASure:JITTer:TRENd:VERTical:RANGe 587 :MEASure:NAME 588 :MEASure:NCJitter 589 :MEASure:NOISe 591 :MEASure:NOISe:ALL? 592 :MEASure:NOISe:BANDwidth 594 :MEASure:NOISe:LOCation 595 :MEASure:NOISe:METHod 596 :MEASure:NOISe:REPort 597 :MEASure:NOISe:RN 598 :MEASure:NOISe:SCOPe:RN 599 :MEASure:NOISe:STATe 600 :MEASure:NOISe:UNITs 601 :MEASure:NPERiod 602 :MEASure:NUI 604 :M
25 Measure Commands :MEASure:RJDJ:EDGE 636 :MEASure:RJDJ:INTerpolate 637 :MEASure:RJDJ:METHod 638 :MEASure:RJDJ:MODe 639 :MEASure:RJDJ:PLENgth 640 :MEASure:RJDJ:REPort 641 :MEASure:RJDJ:RJ 642 :MEASure:RJDJ:SCOPe:RJ 643 :MEASure:RJDJ:SOURce 644 :MEASure:RJDJ:STATe 645 :MEASure:RJDJ:TJRJDJ? 646 :MEASure:RJDJ:UNITs 647 :MEASure:SCRatch 648 :MEASure:SENDvalid 649 :MEASure:SETuptime 650 :MEASure:SLEWrate 652 :MEASure:SOURce 653 :MEASure:STATistics 654 :MEASure:TEDGe 655 :MEASure:THResholds:ABSolute 657 :MEASur
25 Measure Commands :MEASure:THResholds:SERial:TOPBase:ABSolute 697 :MEASure:THResholds:SERial:TOPBase:METHod 699 :MEASure:THResholds:TOPBase:ABSolute 701 :MEASure:THResholds:TOPBase:METHod 703 :MEASure:TIEClock2 705 :MEASure:TIEData 707 :MEASure:TIEFilter:SHAPe 709 :MEASure:TIEFilter:STARt 710 :MEASure:TIEFilter:STATe 711 :MEASure:TIEFilter:STOP 712 :MEASure:TIEFilter:TYPE 713 :MEASure:TMAX 714 :MEASure:TMIN 715 :MEASure:TVOLt 716 :MEASure:UITouijitter 718 :MEASure:UNITinterval 719 :MEASure:VAMPlitude 72
25 Measure Commands E2688A High Speed Serial Software commands The following MEASure commands are available when the E2688A High Speed Serial Software is installed.
Measure Commands 25 • ":MEASure:NUI" on page 604 • ":MEASure:SETuptime" on page 650 • ":MEASure:TIEClock2" on page 705 • ":MEASure:TIEData" on page 707 • ":MEASure:UITouijitter" on page 718 • ":MEASure:UNITinterval" on page 719 N5400A and N5401A Jitter Analysis Software commands The following MEASure commands are available when the N5400A or N5401A Jitter Analysis Software is installed.
25 Measure Commands • ":MEASure:RJDJ:INTerpolate" on page 637 • ":MEASure:RJDJ:PLENgth" on page 640 • ":MEASure:RJDJ:SOURce" on page 644 • ":MEASure:RJDJ:STATe" on page 645 • ":MEASure:RJDJ:TJRJDJ?" on page 646 • ":MEASure:RJDJ:UNITs" on page 647 • ":MEASure:SETuptime" on page 650 • ":MEASure:TIEClock2" on page 705 • ":MEASure:TIEData" on page 707 • ":MEASure:UNITinterval" on page 719 FFT Commands Measurement Setup The :MEASure:FFT commands control the FFT measurements that are accessible through the Meas
25 Measure Commands 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.
25 Measure Commands :MEASure:AREA Command :MEASure:AREA {CYCLe | DISPlay}[,] The :MEASure:AREA command turns on the area measurement. The area measurement measures between the waveform, or a selected cycle of the waveform, and the waveform ground. When measuring Area, it is sometimes useful to use the Subtract Math Operator to remove any dc offset from a waveform you want to measure. Also see Math/FFT Functions for more details.
Measure Commands 25 :MEASure:BINTerval Command :MEASure:BINTerval , 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. {CHANnel | FUNCtion | WMEMory} CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. Example FUNCtion is an integer, 1- 16. Minimum amount of idle time between bursts.
25 Measure Commands :MEASure:BPERiod Command :MEASure:BPERiod , The :MEASure:BPERiod command measures the time between the beginning of a burst and the beginning of the next burst. The idle time is the minimum time between bursts. {CHANnel | FUNCtion | WMEMory} CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. Example FUNCtion is an integer, 1- 16. Minimum amount of idle time between bursts.
Measure Commands 25 :MEASure:BWIDth Command :MEASure:BWIDth , The :MEASure:BWIDth command measures the width of bursts in your waveform. The idle time is the minimum time between bursts. {CHANnel | FUNCtion | WMEMory | CLOCk | MSPectrum | MTRend | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
25 Measure Commands :MEASure:CDRRATE Command :MEASure:CDRRATE 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. {CHANnel | FUNCtion | WMEMory | CLOCk | MSPectrum | MTRend | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
25 Measure Commands :MEASure:CGRade:CROSsing Command :MEASure:CGRade:CROSsing The :MEASure:CGRade:CROSsing command enables the crossing level percent measurement on the current eye pattern. Before using this command or query, you must use the :DISPlay:CGRade command to enable the color grade persistence feature. Also, there must be a full eye diagram on screen before a valid measurement can be made. Example This example measures the crossing level. myScope.
25 Measure Commands :MEASure:CGRade:DCDistortion Command :MEASure:CGRade:DCDistortion The :MEASure:CGRade:DCDistortion command enables the duty cycle distortion measurement on the current eye pattern. The parameter specifies the format for reporting the measurement. Before using this command or query, you must use the :DISPlay:CGRade command to enable the color grade persistence feature. Also, there must be a full eye diagram on screen before a valid measurement can be made.
25 Measure Commands :MEASure:CGRade:EHEight Command :MEASure:CGRade:EHEight The :MEASure:CGRade:EHEight command enables the eye height measurement on the current eye pattern. Before using this command or query, you must use the :DISPlay:CGRade command to enable the color grade persistence feature. Also, there must be a full eye diagram on screen before a valid measurement can be made.
25 Measure Commands :MEASure:CGRade:EWIDth Command :MEASure:CGRade:EWIDth The :MEASure:CGRade:EWIDth command enables the eye width measurement on the current eye pattern. Before using this command or query, you must use the :DISPlay:CGRade command to enable the color grade persistence feature. Also, there must be a full eye diagram on screen before a valid measurement can be made.
25 Measure Commands :MEASure:CGRade:EWINdow Command :MEASure:CGRade:EWINdow ,[,] The :MEASure:CGRade:EWINdow command is used to change the starting point and the stopping point of the window used to make the eye pattern measurements of eye height, eye crossing %, and eye q- factor. In addition, the number of waveform hits can be set to ensure that enough data has been collected to make accurate measurements. An integer from 1 to 100 for horizontal starting point.
25 Measure Commands :MEASure:CGRade:JITTer Command :MEASure:CGRade:JITTer The :MEASure:CGRade:JITTer measures the jitter at the eye diagram crossing point. The parameter specifies the format, peak- to- peak or RMS, of the returned results. Before using this command or query, you must use the :DISPlay:CGRade command to enable the color grade persistence feature. Example {PP | RMS} This example measures the jitter. myScope.
25 Measure Commands :MEASure:CGRade:QFACtor Command :MEASure:CGRade:QFACtor The :MEASure:CGRade:QFACtor command measures the Q factor. Before using this command or query, you must use the :DISPlay:CGRade command to enable the color grade persistence feature. Also, there must be a full eye diagram on screen before a valid measurement can be made. Example This example measures the Q factor. myScope.
25 Measure Commands :MEASure:CHARge Command :MEASure:CHARge [] When N2820A/N2821A high- sensitivity current probes are connected, the :MEASure:CHARge command adds the Charge measurement to the Measnurements tab. This measurement determines the total current consumption over time with the results listed in ampere- hours (Ah).
25 Measure Commands :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.
25 Measure Commands :MEASure:CLOCk Command :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software). NOTE :MEASure:CLOCk {{{ON|1},CHANnel} | {OFF|0}} The :MEASure:CLOCk command turns the recovered clock display on or off and sets the clock recovery channel source. Example An integer, 1- 4. This example turns the recovered clock display on for channel 1. myScope.
25 Measure Commands :MEASure:CLOCk:METHod Command :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software).
25 Measure Commands myScope.WriteString ":MEASure:CLOCk:METHod EXPlicit,CHANnel1,RISing,2" Query :MEASure:CLOCk:METHod? The :MEASure:CLOCk:METHod? query returns the state of the clock recovery method. NOTE Returned Format Example You can use the :MEASure:CLOCk:METHod? query when phase-locked loop (PLL) clock 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 515.
25 Measure Commands :MEASure:CLOCk:METHod:ALIGn Command NOTE :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software). :MEASure:CLOCK:METHod:ALIGn {CENTer | EDGE} When using an explicit method of clock recovery, the :MEASure:CLOCk:METHod:ALIGn command specifies how the clock is aligned with data: • CENTer — Clock edges are aligned with the center of data.
25 Measure Commands :MEASure:CLOCk:METHod:DEEMphasis Command NOTE :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software). :MEASure:CLOCk:METHod:DEEMphasis {OFF | ON} The :MEASure:CLOCk:METHod:DEEMphasis command turns de- emphasis on or off. See the help system for more information on de- emphasis. Example This example enables de- emphasis. myScope.
25 Measure Commands :MEASure:CLOCk:METHod:EDGE Command NOTE :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software). :MEASure:CLOCk:METHod:EDGE {RISing | FALLing | BOTH} The :MEASure:CLOCk:METHod:EDGE command specifies which edge(s) of the data are used to recover a clock. (In the front panel GUI, this control appears in the Advanced Clock Recovery dialog box.
25 Measure Commands myScope.WriteString ":SYSTem:HEADer OFF" myScope.WriteString ":MEASure:CLOCk:METHod:EDGE?" strSetting = myScope.ReadString Debug.
25 Measure Commands :MEASure:CLOCk:METHod:JTF Command :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software).
25 Measure Commands A real number for the base data rate in bits per second. The peaking value in dB. A real number for the cutoff frequency for the PLL to track. An integer used as the multiplication factor. Example A real number used for the clock frequency of the PLL. 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.
Measure Commands 25 :MEASure:CLOCk:METHod:OJTF Command :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software).
25 Measure Commands A real number for the base data rate in bits per second. A real number for the damping factor of the PLL. A real number for the cutoff frequency for the PLL to track. An integer used as the multiplication factor. Example A real number used for the clock frequency of the PLL. 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.
Measure Commands 25 :MEASure:CLOCk:VERTical Command NOTE :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software). :MEASure:CLOCk:VERTical {AUTO | MANual} The :MEASure:CLOCk:VERTical command sets the recovered clock vertical scale mode to automatic or manual. In automatic mode, the oscilloscope automatically selects the vertical scaling and offset.
25 Measure Commands :MEASure:CLOCk:VERTical:OFFSet Command NOTE :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software). :MEASure:CLOCk:VERTical:OFFSet The :MEASure:CLOCk:VERTical:OFFSet command sets the recovered clock vertical offset. A real number for the recovered clock vertical offset.
25 Measure Commands :MEASure:CLOCk:VERTical:RANGe Command NOTE :MEASure:CLOCk commands are available when clock recovery is used by licensed software (like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis software). :MEASure:CLOCk:VERTical:RANGe The :MEASure:CLOCk:VERTical:RANGe command sets the recovered clock vertical range. A real number for the full- scale recovered clock vertical range.
25 Measure Commands :MEASure:CROSsing Command :MEASure:CROSsing , The :MEASure:CROSsing command adds the crossing measurement to the screen. The crossing measurement is the voltage where two signals cross (uses edges closest to the center of the screen) {CHANnel | FUNCtion | WMEMory} {CHANnel | FUNCtion | WMEMory} Example a real number This example measures the voltage where channel 1 and 2 cross. myScope.
Measure Commands 25 :MEASure:CTCDutycycle Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. NOTE :MEASure:CTCDutycycle , The :MEASure:CYCDutycycle command measures the cycle- to- cycle duty cycle jitter (%) of the waveform.
25 Measure Commands Example 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. This example places the cycle- to- cycle duty cycle of channel 1 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:CTCDUTYCYCLE CHANNEL1,RISING" varValue = myScope.
Measure Commands 25 :MEASure:CTCJitter Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. NOTE :MEASure:CTCJitter , The :MEASure:CYCJitter command measures the cycle- to- cycle jitter of the waveform.
25 Measure Commands 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 cycle- to- cycle jitter of channel 1 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:CTCJITTER CHANNEL1,RISING" varValue = myScope.
25 Measure Commands :MEASure:CTCNwidth Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. NOTE :MEASure:CTCNwidth [] The :MEASure:CTCNwidth command measures the cycle- to- cycle - width jitter of the waveform.
25 Measure Commands Example This example places the cycle- to- cycle - width of channel 1 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:CTCNWIDTH CHANNEL1" varValue = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:CTCPwidth Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. NOTE :MEASure:CTCPwidth [] The :MEASure:CYCPwidth command measures the cycle- to- cycle + width jitter of the waveform.
25 Measure Commands Example This example places the cycle- to- cycle + width of channel 1 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:CTCPWIDTH CHANNEL1" varValue = myScope.ReadNumber Debug.
Measure Commands 25 :MEASure:DATarate Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. NOTE :MEASure:DATarate [,{AUTO | (SEMI,)}] The :MEASure:DATarate command measures the data rate in bits per second for the selected source.
25 Measure Commands 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.
25 Measure Commands :MEASure:DEEMphasis Command :MEASure:DEEMphasis [] When the EZJIT Complete application 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.
25 Measure Commands 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. Example 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.
Measure Commands 25 :MEASure:DELTatime Command :MEASure:DELTatime [[,]] 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.
25 Measure Commands Example Delta time from the first specified edge on one source to the next specified edge on another source. 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. 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.
Measure Commands 25 :MEASure:DELTatime:DEFine Command :MEASure:DELTatime:DEFine ,, ,,, The :MEASure:DELTatime:DEFine command sets the type of direction, the number of the edge, and the edge position for the delta time measurement. {RISing | FALLing | EITHer} for start directions. An integer from 1 to 65534 for start edge numbers.
25 Measure Commands NOTE Turn Off Headers When receiving numeric data into numeric variables, turn off the headers. Otherwise, the headers may cause misinterpretation of returned data.
25 Measure Commands :MEASure:DUTYcycle Command :MEASure:DUTYcycle [[,]] 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 parameter following the :MEASure:DUTYcycle command.
25 Measure Commands Example The ratio (%) of the positive pulse width to the period. 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. 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.
Measure Commands 25 :MEASure:EDGE Command :MEASure:EDGE [[,]] The :MEASure:EDGE command measures the time of the edge, relative to the reference location. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:DUTYcycle command.
25 Measure Commands Example The measured edge time. 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. 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.
Measure Commands 25 :MEASure:ETOedge Command :MEASure:ETOedge , , , , , , , 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.
25 Measure Commands :MEASure:FALLtime Command :MEASure:FALLtime [] The :MEASure:FALLtime command measures the time at the upper threshold of the falling edge, measures the time at the lower threshold of the falling edge, then calculates the fall time. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:FALLtime command. The first displayed falling edge is used for the fall- time measurement.
Measure Commands Example 25 This example places the current value for fall time 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:FALLTIME? CHANNEL1" varValue = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:FFT:DFRequency Command :MEASure:FFT:DFRequency [] The :MEASure:FFT:DFRequency command enables the delta frequency measurement. The source is specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:FFT:DFR command. The source must be a function that is set to FFTMagnitude, or a waveform memory that contains an FFT for this command and query to work.
Measure Commands 25 myScope.WriteString ":meas:FFT:dfr func4" ' Perform dfrequency meas. myScope.WriteString ":meas:FFT:dfr? func4" ' Query for measurement. varFrequency = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:FFT:DMAGnitude Command :MEASure:FFT:DMAGnitude [] The :MEASure:FFT:DMAGnitude command enables the delta magnitude measurement. The source is specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:FFT command. The source must be a function that is set to FFT, or a waveform memory that contains an FFT for this command and query to work.
Measure Commands 25 myScope.WriteString ":meas:FFT:dmag func4" ' Perform magnitude meas. myScope.WriteString ":meas:FFT:dmag? func4" ' Query for measurement. varMagnitude = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:FFT:FREQuency Command :MEASure:FFT:FREQuency [] The :MEASure:FFT:FREQuency command enables the frequency measurement. The source is specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:FFT command. The source must be a function that is set to FFT, or a waveform memory that contains an FFT for this command and query to work.
25 Measure Commands :MEASure:FFT:MAGNitude Command :MEASure:FFT:MAGNitude [] The :MEASure:FFT:MAGNitude command measures the magnitude of the FFT. The source is specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:FFT command. The source must be a function that is set to FFT, or a waveform memory that contains an FFT for this command and query to work.
25 Measure Commands :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 or WMEMory. <1st_peak _number> An integer, 1 to 100 specifying the number of the first peak. WMEMory is an integer, 1- 4. FUNCtion is an integer, 1- 16.
Measure Commands 25 :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 or WMEMory. <2nd_peak _number> An integer, 1 to 100 specifying the number of the second peak. WMEMory is an integer, 1- 4. FUNCtion is an integer, 1- 16.
25 Measure Commands :MEASure:FFT:THReshold Command :MEASure:FFT:THReshold The :MEASure:FFT:THReshold command sets the peak search threshold value in dB. The dB after the threshold value is optional. Query A real number specifying the threshold for peaks. :MEASure:FFT:THReshold? The :MEASure:FFT:THReshold? query returns the peak search threshold value.
25 Measure Commands :MEASure:FREQuency Command :MEASure:FREQuency [[,]] The :MEASure:FREQuency command measures the frequency of the first complete cycle on the screen using the mid- threshold levels of the waveform (50% levels if standard thresholds are selected). The source is specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:FREQuency command.
25 Measure Commands myScope.WriteString ":MEASure:FREQuency CHANnel1" Query :MEASure:FREQuency? [[,]] The :MEASure:FREQuency? query returns the measured frequency. Returned Format [:MEASure:FREQuency] [,] The frequency value in Hertz of the first complete cycle on the screen using the mid- threshold levels of the waveform. If SENDvalid is ON, the result state is returned with the measurement result.
25 Measure Commands :MEASure:HISTogram:HITS Command :MEASure:HISTogram:HITS [] The :MEASure:HISTogram:HITS command places the histogram hits measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:M1S Command :MEASure:HISTogram:M1S [] The :MEASure:HISTogram:M1S command places the histogram percentage of points within one standard deviation of the mean measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command.
25 Measure Commands :MEASure:HISTogram:M2S Command :MEASure:HISTogram:M2S [] The :MEASure:HISTogram:M2S command places the histogram percentage of points within two standard deviations of the mean measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command.
25 Measure Commands :MEASure:HISTogram:M3S Command :MEASure:HISTogram:M3S [] The :MEASure:HISTogram:M2S command places the histogram percentage of points within two standard deviations of the mean measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command.
25 Measure Commands :MEASure:HISTogram:MAX Command :MEASure:HISTogram:MAX [] The :MEASure:HISTogram:MAX command places the histogram maximum value measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:MEAN Command :MEASure:HISTogram:MEAN [] The :MEASure:HISTogram:MEAN command places the histogram mean measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:MEDian Command :MEASure:HISTogram:MEDian [] The :MEASure:HISTogram:MEDian command places the histogram median measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:MIN Command :MEASure:HISTogram:MIN [] The :MEASure:HISTogram:MIN command places the histogram minimum measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:MODE Command :MEASure:HISTogram:MODE [] The :MEASure:HISTogram:MODE command places the histogram mode measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:PEAK Command :MEASure:HISTogram:PEAK [] The :MEASure:HISTogram:PEAK command places the histogram number of hits in the greatest peak measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:PP Command :MEASure:HISTogram:PP [] The :MEASure:HISTogram:PP command places the histogram width measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:RESolution Command :MEASure:HISTogram:RESolution [] The :MEASure:HISTogram:RESolution command places the histogram bin width measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HISTogram:STDDev Command :MEASure:HISTogram:STDDev [] The :MEASure:HISTogram:STDDev command places the histogram standard deviation measurement into the Measurements tab of the oscilloscope's user interface. The source is specified with the :MEASure:SOURce command or with the optional parameter following the command. The :MEASure:HISTogram commands only apply to Meas Histogram math functions, the histogram waveform, or memories containing histograms.
25 Measure Commands :MEASure:HOLDtime Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. NOTE :MEASure:HOLDtime [,, ,] The :MEASure:HOLDtime command measures the hold time between the specified clock and data sources.
Measure Commands Example 25 {RISing | FALLing} Selects the direction of the clock source edge. 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? [,,, ] The :MEASure:HOLDtime? query returns the measured hold time between the specified clock and data source.
25 Measure Commands :MEASure:JITTer:HISTogram Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:HISTogram {{ON|1} | {OFF|0}} The :MEASure:JITTer:HISTogram command turns the measurement histogram display on or off when a jitter measurement is displayed. Example This example turns the jitter measurement histogram display on. myScope.
25 Measure Commands :MEASure:JITTer:MEASurement Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. NOTE :MEASure:JITTer:MEASurement {MEASurement} The :MEASure :JITTer:MEASurement command selects which measurement displayed on the oscilloscope you are performing the jitter analysis on. MEASurement1 is the left- most measurement on the display.
25 Measure Commands :MEASure:JITTer:SPECtrum Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum {{ON|1} | {OFF|0}} The :MEASure:JITTer:SPECtrum command turns the jitter spectrum display on or off when a jitter measurement is displayed. Example This example turns the jitter measurement spectrum display on. myScope.
Measure Commands 25 :MEASure:JITTer:SPECtrum:HORizontal Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum:HORizontal {AUTO | MANual} The :MEASure:JITTer:SPECtrum:HORizontal command sets the jitter spectrum horizontal mode to automatic or manual. In automatic mode, the oscilloscope automatically selects the horizontal scaling and center frequency.
25 Measure Commands :MEASure:JITTer:SPECtrum:HORizontal:POSition Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum:HORizontal:POSition The :MEASure:JITTer:SPECtrum:HORizontal:POSition command sets the jitter spectrum horizontal center frequency position. Example A real number for the center frequency position in Hertz.
Measure Commands 25 :MEASure:JITTer:SPECtrum:HORizontal:RANGe Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum:HORizontal:RANGe The :MEASure:JITTer:SPECtrum:HORizontal:RANGe command sets the jitter spectrum horizontal range. A real number for the horizontal frequency range in Hertz. Example This example sets the jitter spectrum horizontal range to 10 GHz (1 GHz/div). myScope.
25 Measure Commands :MEASure:JITTer:SPECtrum:VERTical Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum:VERTical {AUTO | MANual} The :MEASure:JITTer:SPECtrum:VERTical command sets the jitter spectrum vertical 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 vertical scaling and offset values.
Measure Commands 25 :MEASure:JITTer:SPECtrum:VERTical:OFFSet Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum:VERTical:OFFSet The :MEASure:JITTer:SPECtrum:VERTical:OFFSet command sets the jitter spectrum vertical offset. A real number for the vertical offset of the jitter measurement spectrum. Example This example sets the jitter spectrum vertical offset to 2 ns. myScope.
25 Measure Commands :MEASure:JITTer:SPECtrum:VERTical:RANGe Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum:VERTical:RANGe The :MEASure:JITTer:SPECtrum:VERTical:RANGe command sets the jitter spectrum vertical range. A real number for the full- scale vertical range for the jitter measurement spectrum.
Measure Commands 25 :MEASure:JITTer:SPECtrum:VERTical:TYPE Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum:VERTical:TYPE {LINear | LOGarithmic} The :MEASure:JITTer:SPECtrum:VERTical:TYPE command lets you select either a LINear or a LOGarithmic vertical scale for the jitter spectrum plot. Example This example sets a linear vertical scale for the jitter spectrum plot. myScope.
25 Measure Commands :MEASure:JITTer:SPECtrum:WINDow Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:SPECtrum:WINDow {RECTangular | HANNing | FLATtop | BHARris | HAMMing} The :MEASure:JITTer:SPECtrum:WINDow command sets the jitter spectrum window mode. For a description of the window modes, see ":FUNCtion:FFT:WINDow" on page 338. Example This example sets the jitter spectrum window mode to Hanning.
Measure Commands 25 :MEASure:JITTer:STATistics Command :MEASure:JITTer:STATistics {{ON|1} | {OFF|0}} The :MEASure:JITTer:STATistics command enables or disables jitter mode and allows you to view: measurement histogram (:MEASure:JITTer:HISTogram), measurement trend (:MEASure:JITTer:TRENd), and jitter spectrum (:MEASure:JITTer:SPsECtrum) if they are enabled. The :MEASure:JITTer:STATistics command also turns on or off the ability to measure all edges in the waveform; not just the first edge on screen.
25 Measure Commands :MEASure:JITTer:TRENd Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:TRENd {{ON|1} | {OFF|0}} The :MEASure:JITTer:TRENd command turns the jitter measurement trend display on or off. When on, trend plots measurement results time correlated to the waveform being measured. Example This example turns the jitter measurement trend display on. myScope.
Measure Commands 25 :MEASure:JITTer:TRENd:SMOoth Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:TRENd:SMOoth {{ON|1} | {OFF|0}} The :MEASure:JITTer:TRENd:SMOoth command sets jitter trend smoothing to on or off. When on, smoothing creates a running average smoothed by the number of points set by the :JITTer:TRENd:SMOoth:POINts command. Example This example sets the jitter trend smoothing mode to on.
25 Measure Commands :MEASure:JITTer:TRENd:SMOoth:POINts Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:TRENd:SMOoth:POINts The :MEASure:JITTer:TRENd:SMOoth:POINts command sets the number of points as a set size for the data smoothing feature. Example odd integers, 3 to 1001. If out of range, the number will be rounded to nearest lower odd integer.
Measure Commands 25 :MEASure:JITTer:TRENd:VERTical Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:TRENd:VERTical {AUTO | MANual} The :MEASure:JITTer:TRENd:VERTical command sets the jitter trend vertical 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.
25 Measure Commands :MEASure:JITTer:TRENd:VERTical:OFFSet Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:TRENd:VERTical:OFFSet The :MEASure:JITTer:TRENd:VERTical:OFFSet command sets the jitter trend vertical offset. A real number for the vertical offset for the jitter measurement trend. Example This example sets the jitter trend vertical offset to 100 ps. myScope.
Measure Commands 25 :MEASure:JITTer:TRENd:VERTical:RANGe Command NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:JITTer:TRENd:VERTical:RANGe The :MEASure:JITTer:TRENd:VERTical:RANGe command sets the jitter trend vertical range. A real number for the full- scale vertical range for the jitter measurement trend. Example This example sets the jitter trend vertical range to 4 ns (500 ps/div X 8 div).
25 Measure Commands :MEASure:NAME Command :MEASure:NAME {MEAS1 | MEAS2 | MEAS3 | MEAS4}, The :MEASure:NAME commands sets the name of the specified measurement to whatever string is given to . This enables you to give specific names to measurements displayed on the oscilloscope's screen. Query a quoted string :MEASure:NAME? {MEAS1 | MEAS2 | MEAS3 | MEAS4} The :MEASure:NAME? query returns the name of the corresponding measurement.
Measure Commands 25 :MEASure:NCJitter Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. NOTE :MEASure:NCJitter ,,, The :MEASure:NCJitter command measures the N cycle jitter of the waveform.
25 Measure Commands 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 N cycle jitter 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:NCJITTER? CHANNEL1,RIS,5,1" varValue = myScope.
Measure Commands 25 :MEASure:NOISe Command This command is only available when the EZJIT Complete software is installed. NOTE :MEASure:NOISe , {VOLT | UNITamp}, {ZERO | ONE | BOTH} The :MEASure:NOISe command adds a Noise measurement to the oscilloscope display. The parameters specify the input source to be measured, the units (in volts or unit amplitude), and whether "zeros", "ones", or both "zeros" and "ones" should be measured.
25 Measure Commands :MEASure:NOISe:ALL? Query NOTE This command is only available when the EZJIT Complete software is installed. :MEASure:NOISe:ALL? {ZERO | ONE} The :MEASure:NOISe:ALL? query returns the NOISe measurement results for the specified level.
Measure Commands Example 25 The Level line returns the nominal one or zero level. The unit amplitude = the nominal one level – nominal zero level. 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.
25 Measure Commands :MEASure:NOISe:BANDwidth Command NOTE This command is only available when the EZJIT Complete software is installed. :MEASure:NOISe:BANDwidth {NARRow | WIDE} The :MEASure:NOISe:BANDwidth command sets the type of filtering used to separate the data dependent noise from the random noise and the periodic noise. Example This example sets the RN bandwidth to WIDE. myScope.
25 Measure Commands :MEASure:NOISe:LOCation Command NOTE This command is only available when the EZJIT Complete software is installed. :MEASure:NOISe:LOCation The :MEASure:NOISe:LOCation command specifies the measurement location within the bit where 0% is the beginning of the bit, 50% is the middle of the bit, and 100% is the end of the bit. You can specify a location value from 5% to 95%. Example This example sets the measurement location to 60%. myScope.
25 Measure Commands :MEASure:NOISe:METHod Command NOTE This command is only available when the EZJIT Complete jitter analysis application is licensed. :MEASure:NOISe:METHod {SPECtral | BOTH} 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.
Measure Commands 25 :MEASure:NOISe:REPort Command NOTE This command is only available when the EZJIT Complete jitter analysis application is licensed. :MEASure:NOISe:REPort {SPECtral | TAILfit} When the :MEASure:NOISe:METHod BOTH command selects both the spectral and tail fit methods for random noise analysis, the :MEASure:NOISe:REPort command specifies which method is used for the reports in the noise graphs / histograms and Noise tab measurements.
25 Measure Commands :MEASure:NOISe:RN Command NOTE This command is only available when the EZJIT Complete software is installed. :MEASure:NOISe:RN {ON, , | OFF} The :MEASure:NOISe:RN command can specify a known amount of random noise. When used, the remaining amount of the total noise measured is reported as periodic interference (PI). This command is used in situations when crosstalk aggressors influence the random noise measured on a signal.
25 Measure Commands :MEASure:NOISe:SCOPe:RN Command NOTE This command is only available when the EZJIT Complete software is installed. :MEASure:NOISe:SCOPe:RN {ON, , | OFF} The :MEASure:NOISe:SCOPe:RN command can specify the removal of the oscilloscope's calibrated random noise from the reported RN. • ON — Enables the removal of the oscilloscope's calibrated random noise from the reported RN.
25 Measure Commands :MEASure:NOISe:STATe Command NOTE This command is only available when the EZJIT Complete software is installed. :MEASure:NOISe:STATe {ON | OFF} The :MEASure:NOISe:STATe command enables or disables the NOISe measurements. Example This example sets the NOISe state to on. myScope.WriteString ":MEASURE:NOISe:STATe ON" Query :MEASure:NOISe:STATe? The :MEASure:NOISe:STATe? query returns the state of the NOISe measurements.
25 Measure Commands :MEASure:NOISe:UNITs Command NOTE This command is only available when the EZJIT Complete software is installed. :MEASure:NOISe:UNITs {VOLT | UNITamplitude} The :MEASure:NOISe:UNITs command sets the unit of measure for NOISe measurements to volts or unit amplitude. Example This example sets the NOISe units to unit amplitude. myScope.
25 Measure Commands :MEASure:NPERiod Command :MEASure:NPERiod , , The :MEASure:NPERiod command measures the span of time of N consecutive periods. The measurement then moves over one period and measures the span of time of the next N consecutive periods. Example the source on which the measurement is made rising or falling An integer greater than or equal to 1. This example measures the time span of 3 consecutive periods on channel 1 (rising edge). myScope.
Measure Commands 25 :MEASure:NPULses Command :MEASure:NPULses The :MEASure:NPULses measures the number of negative pulses on the screen. Example the source on which the measurement is made This example measures the number of negative pulses on channel 1. myScope.WriteString ":MEASURE:NPULses CHAN1" Query :MEASure:NPULses? This query returns the result for the NPULses measurement.
25 Measure Commands :MEASure:NUI Command :MEASure:NPERiod , The :MEASure:NPERiod command measures N consecutive unit intervals. The measurement then moves over one unit interval and measures the span of time of the next N consecutive unit intervals. Example the source on which the measurement is made An integer greater than or equal to 1. This example measures the time span of 3 consecutive unit intervals on channel 1. myScope.
Measure Commands 25 :MEASure:NWIDth Command :MEASure:NWIDth [] 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.
25 Measure Commands Example The width of the first negative pulse on the screen using the mid- threshold levels of the waveform. 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. 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.
25 Measure Commands :MEASure:OVERshoot Command :MEASure:OVERshoot [][,] The :MEASure:OVERshoot command measures the overshoot of the first edge on the screen. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:OVERshoot command. The algorithm is: If the first edge on the screen is rising, then overshoot = (Local Vmax - Vtop) / Vamplitude else overshoot = (Vbase - Local Vmin) / Vamplitude.
25 Measure Commands Example 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. This example places the current value of overshoot 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:OVERSHOOT? CHANNEL1" varValue = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:PAMPlitude Command :MEASure:PAMPlitude [, , ] The :MEASure:PAMPlitude command measures the pulse amplitude around the specified edge. There is only a single width applied to the top and base for the amplitude measurement. {CHANnel | FUNCtion | WMEMory} CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. Example FUNCtion is an integer, 1- 16.
25 Measure Commands :MEASure:PBASe Command :MEASure:PBASe , The :MEASure:PBASe command measures the average of the data of a negative pulse within the pulse window. The pulse window is a range of data centered within the pulse width using the specified percentage of the data as measured as the middle threshold level. For example, a 50% window would not include in the average the first or last 25% of the pulse width as measured at the middle threshold level.
Measure Commands 25 :MEASure:PERiod Command :MEASure:PERiod [[,]] 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.
25 Measure Commands myScope.WriteString ":MEASure:PERiod CHANnel1" Query :MEASure:PERiod? [], The :MEASure:PERiod? query returns the measured period of the specified source. Returned Format Example [:MEASure:PERiod] [,] Period of the first complete cycle on the screen. 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.
Measure Commands 25 :MEASure:PHASe Command :MEASure:PHASe [[,[,]]] The :MEASure:PHASe command measures the phase in degrees between two edges. If two sources are specified, the phase from the specified edge of the first source to the specified edge of the second source is measured. If one source is specified, the phase is always 0.0E0.00°.
25 Measure Commands Example Phase angle from the first edge on the first source to the first edge on the second source. 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. 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.
Measure Commands 25 :MEASure:PPULses Command :MEASure:PPULses The :MEASure:PPULses measures the number of positive pulses on the screen. Example the source on which the measurement is made This example measures the number of positive pulses on channel 1. myScope.WriteString ":MEASURE:PPULses CHAN1" Query :MEASure:PPULses? This query returns the result for the PPULses measurement.
25 Measure Commands :MEASure:PREShoot Command :MEASure:PREShoot [] 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.
Measure Commands Example 25 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. This example places the current value of preshoot in the numeric variable, varPreshoot, then prints the contents of the variable to the computer's screen. myScope.WriteString ":SYSTEM:HEADER OFF" ' Response headers off. myScope.WriteString ":MEASURE:PRESHOOT? CHANNEL1" varPreshoot = myScope.
25 Measure Commands :MEASure:PTOP Command :MEASure:PTOP , The :MEASure:PTOP command measures the average of the data of a positive pulse within the pulse window. The pulse window is a range of data centered within the pulse width using the specified percentage of the data as measured as the middle threshold level. For example, a 50% window would not include in the average the first or last 25% of the pulse width as measured at the middle threshold level.
Measure Commands 25 :MEASure:PWIDth Command :MEASure:PWIDth [] 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.
25 Measure Commands Example Width of the first positive pulse on the screen in seconds. 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. This example places the value of the width of the first positive pulse on the screen in the numeric variable, varWidth, then prints the contents of the variable to the computer's screen. myScope.
Measure Commands 25 :MEASure:QUALifier:CONDition Command :MEASure:QUALifier:CONDition {HIGH | LOW | INSide | OUTSide} The :MEASure:QUALifier:CONDition command sets the condition when valid timing measurements are made • Above Middle Threshold (HIGH) • Below Middle Threshold (LOW) • Between Upper, Lower Thresholds (INSide) • Not Between Thresholds (OUTSide) Example An integer, 1- 3. This example sets the level qualifier 2 condition to HIGH. myScope.
25 Measure Commands :MEASure:QUALifier:SOURce Command The channel being selected must not be used to make a timing measurement and must be turned on. NOTE :MEASure:QUALifier:SOURce The :MEASure:QUALifier:SOURce command sets the source of the level qualify for timing measurements. CHANnel An integer, 1- 4. An integer, 1- 3. Example This example sets the level qualifier 2 source to the channel 1 waveform. myScope.
25 Measure Commands :MEASure:QUALifier:STATe Command :MEASure:QUALifier:STATe {{ON | 1} | {OFF | 0}} The :MEASure:QUALifier:STATe command enables or disables level qualifying for timing measurements. Example An integer, 1- 3. This example sets the level qualifier 2 state to ON. myScope.WriteString ":MEASURE:QUALIFIER2:STATE ON" Query :MEASure:QUALifier:STATe? The :MEASure:QUALifier:STATe? query returns the state of the level qualifier for timing measurements.
25 Measure Commands :MEASure:RESults? Query :MEASure:RESults? The :MEASure:RESults? query returns the results of the continuously displayed measurements. The response to the MEASure:RESults? query is a list of comma- separated values. If SENDvalid is ON, the results state is returned. If more than one measurement is running continuously, the values in the :MEASure:RESults returned are duplicated for each continuous measurement from the first to last (left to right) result displayed.
25 Measure Commands Table 20 Result States 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.
25 Measure Commands Table 20 Result States (continued) 626 Code Description 36 Result invalid. Awaiting completion of averaging. 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.
Measure Commands 25 :MEASure:RISetime Command :MEASure:RISetime [] 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.
25 Measure Commands Example 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. 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.
25 Measure Commands :MEASure:RJDJ:ALL? Query NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:ALL? The :MEASure:RJDJ:ALL? query returns all of the RJDJ jitter measurements.
25 Measure Commands Example The number of waveform transitions that have been measured. 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.
Measure Commands 25 :MEASure:RJDJ:APLength? Query NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:APLength? The :MEASure:RJDJ:APLength? query returns the determined RjDj pattern length. Returned Format [:MEASure:RJDJ:APLength] The determined RjDj pattern length as a numeric data value. Invalid (9.99999E+37) is returned if there is no data.
25 Measure Commands :MEASure:RJDJ:BANDwidth Command NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:BANDwidth {NARRow | WIDE} The :MEASure:RJDJ:BANDwidth command sets the type of filtering used to separate the data dependent jitter form the random jitter and the periodic jitter. Example This example sets the RJ bandwidth to WIDE. myScope.
25 Measure Commands :MEASure:RJDJ:BER Command NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:BER {E6 | E7 | E8 | E9 | E10 | E11 | E12 | E13 | E14 | E15 | E16 | E17 | E18 | J2 | J9} The :MEASure:RJDJ:BER command sets the bit error rate for the Total Jitter (TJ) measurement.
25 Measure Commands myScope.WriteString ":SYSTEM:HEADER OFF" myScope.WriteString ":MEASURE:RJDJ:BER?" varRate = myScope.ReadNumber Debug.Print FormatNumber(varRate, 0) 634 ' Response headers off.
25 Measure Commands :MEASure:RJDJ:CLOCk Command NOTE This command is available when the EZJIT+ or EZJIT Complete jitter analysis software is installed. :MEASure:RJDJ:CLOCk {ON | OFF} When the :MEASure:RJDJ:CLOCk command is set to ON, it forces the pattern to be a clock and sets the jitter for edges not examined to zero (0).
25 Measure Commands :MEASure:RJDJ:EDGE Command NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:EDGE {RISING | FALLING | BOTH} 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.
Measure Commands 25 :MEASure:RJDJ:INTerpolate Command NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:INTerpolate {LINear | NONE} The :MEASure:RJDJ:INTerpolate command sets the interpolation mode used for the RJDJ measurements. Example This example sets the RJDJ interpolation to use both linear. myScope.
25 Measure Commands :MEASure:RJDJ:METHod Command NOTE This command is only available when the EZJIT+ jitter analysis application is licensed. :MEASure:RJDJ:METHod {SPECtral | BOTH} 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.
Measure Commands 25 :MEASure:RJDJ:MODe Command NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:MODe {TIE | PERiod | NUI[,]} The :MEASure:RJDJ:MODe command sets the RJDJ measurement mode. If NUI is selected then selects the number of unit intervals (for example: :MEASure:RJDJ:MODe NUI,5. Example This example sets the RJDJ mode to TIE. myScope.
25 Measure Commands :MEASure:RJDJ:PLENgth Command NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:PLENgth {AUTO | {ARBitrary,,} | } The :MEASure:RJDJ:PLENgth command sets the number of bits used pattern length for the RJDJ measurements.
25 Measure Commands :MEASure:RJDJ:REPort Command NOTE This command is only available when the EZJIT+ jitter analysis application is licensed. :MEASure:RJDJ:REPort {SPECtral | TAILfit} 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.
25 Measure Commands :MEASure:RJDJ:RJ Command NOTE This command is available when the EZJIT+ software is installed. :MEASure:RJDJ:RJ {ON, | OFF} The :MEASure:RJDJ:RJ command can specify a known amount of random jitter. When used, the remaining amount of the total jitter measured is reported as periodic jitter (PJ). This command is used in situations when crosstalk aggressors influence the random jitter measured on a signal.
Measure Commands 25 :MEASure:RJDJ:SCOPe:RJ Command NOTE This command is available when the EZJIT+ software is installed. :MEASure:RJDJ:SCOPe:RJ {ON, | AUTO | OFF} The :MEASure:RJDJ:SCOPe:RJ command can specify the removal of the oscilloscope's calibrated random jitter from the reported RJ. • ON — Enables the "manual" removal of a known oscilloscope random jitter from the reported RJ. • — The known oscilloscope random jitter to remove from the reported RJ.
25 Measure Commands :MEASure:RJDJ:SOURce Command This command is only available when the N5400A/N5401A Software is installed. NOTE :MEASure:RJDJ:SOURce The :MEASure:RJDJ:SOURce command sets the source for the RJDJ measurements. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
25 Measure Commands :MEASure:RJDJ:STATe Command NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:STATe {ON | OFF} The :MEASure:RJDJ:STATe command enables or disables the RJDJ measurements. Example This example sets the RJDJ state to on. myScope.WriteString ":MEASURE:RJDJ:STATE ON" Query :MEASure:RJDJ:STATe? The :MEASure:RJDJ:STATe? query returns the state of the RJDJ measurements.
25 Measure Commands :MEASure:RJDJ:TJRJDJ? Query NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:TJRJDJ? The :MEASure:RJDJ:TJRJDJ? query returns the Total Jitter (TJ), Random Jitter (RJ), and the Deterministic Jitter (DJ) measurements.
Measure Commands 25 :MEASure:RJDJ:UNITs Command NOTE This command is only available when the N5400A/N5401A Software is installed. :MEASure:RJDJ:UNITs {SECond | UNITinterval} The :MEASure:RJDJ:UNITs command sets the unit of measure for RJDJ measurements to seconds or unit intervals. Example This example sets the RJDJ units to unit interval. myScope.
25 Measure Commands :MEASure:SCRatch Command :MEASure:{SCRatch | CLEar} The :MEASure:SCRatch command clears the measurement results from the screen. This command performs the same function as :MEASure:CLEar. Example This example clears the current measurement results from the screen. myScope.
Measure Commands 25 :MEASure:SENDvalid Command :MEASure:SENDvalid {{OFF|0} | {ON|1}} The :MEASure:SENDvalid command enables the result state code to be returned with the :MEASure:RESults? query and all other measurement queries. Example This example turns the send valid function on. myScope.WriteString ":MEASURE:SENDVALID ON" Query :MEASure:SENDvalid? The :MEASure:SENDvalid? query returns the state of the send valid control.
25 Measure Commands :MEASure:SETuptime Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/5401A Software is installed. NOTE :MEASure:SETuptime [,,, ] The :MEASure:SETuptime command measures the setup time between the specified clock and data source.
Measure Commands 25 Selects the direction of the data source edge. BOTH selects both edges to be measured. Example {RISing | FALLing} Selects the direction of the clock source edge. This example measures the setup time from the rising edge of channel 1 to the rising edge of channel 2. myScope.
25 Measure Commands :MEASure:SLEWrate Command This command is only available when the E2681A Jitter Analysis Software is installed. NOTE :MEASure:SLEWrate [, ] The :MEASure:SLEWrate command measures the slew rate of the specified data source. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
Measure Commands 25 :MEASure:SOURce Command :MEASure: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.
25 Measure Commands :MEASure:STATistics Command :MEASure:STATistics {{ON | 1} | CURRent | MAXimum | MEAN | MINimum | STDDev} The :MEASure:STATistics command determines the type of information returned by the :MEASure:RESults? query. ON means all the statistics are on. Example This example turns all the statistics function on. myScope.WriteString ":MEASURE:STATISTICS ON" Query :MEASure:STATistics? The :MEASure:STATistics? query returns the current statistics mode.
Measure Commands 25 :MEASure:TEDGe Command :MEASure:TEDGe ,[][,] 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. UPPer, MIDDle, or LOWer to identify the threshold.
25 Measure Commands Example 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. 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.
Measure Commands 25 :MEASure:THResholds:ABSolute Command :MEASure:THResholds:ABSolute , ,, The :MEASure:THResholds:ABSolute command sets the upper level, middle level, and lower level voltages that are used to calculate the measurements that use them. This command changes the threshold settings used for rise/fall time measurements, protocol decode, and all other general-purpose measurements that use thresholds.
25 Measure Commands The :MEASure:THResholds:ABSolute? query returns the current settings for upper level, middle level, and lower level voltages for the custom thresholds. Returned Format Example [:MEASure:THResholds:ABSolute] ,, 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.
Measure Commands 25 :MEASure:THResholds:GENeral:ABSolute Command :MEASure:THResholds:GENeral:ABSolute , ,, The :MEASure:THResholds:GENeral:ABSolute command sets the upper level, middle level, and lower level voltages that are used to calculate the measurements that use them. These general-purpose threshold settings are used for everything except rise/fall measurements and protocol decode.
25 Measure Commands The :MEASure:THResholds:GENeral:ABSolute? query returns the current settings for upper level, middle level, and lower level voltages for the custom thresholds. Returned Format Example [:MEASure:THResholds:GENeral:ABSolute] ,, 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.
25 Measure Commands :MEASure:THResholds:GENeral:HYSTeresis Command :MEASure:THResholds:GENeral:HYSTeresis ,, The :MEASure:THResholds:GENeral:HYSTeresis command sets the range and level voltages that are used to calculate the measurements that use them. The range is added to the level to determine the upper level voltage for measurements that use it. The range is subtracted from the level to determine the lower level voltage. The level is the middle level voltage.
25 Measure Commands The :MEASure:THResholds:GENeral:HYSTeresis? query returns the current settings for upper level, middle level, and lower level voltages for the custom thresholds. Returned Format Example [:MEASure:THResholds:GENeral:HYSTeresis], 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.
Measure Commands 25 :MEASure:THResholds:GENeral:METHod Command :MEASure:THResholds:GENeral:METHod ,{ABSolute | PERCent | HYSTer esis} The :MEASure:THResholds:GENeral:METHod command determines the way that the top and base of a waveform are calculated for all of the measurements that use them. These general-purpose threshold settings are used for everything except rise/fall measurements and protocol decode.
25 Measure Commands myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.WriteString ":MEASure:THResholds:GENeral:METHod?" varMethod = myScope.ReadNumber Debug.
Measure Commands 25 :MEASure:THResholds:GENeral:PERCent Command :MEASure:THResholds:GENeral:PERCent ,,, The :MEASure:THResholds:GENeral:PERCent command sets the upper level, middle level, and lower level voltages as a percentage of the top and base voltages which are used to calculate the measurements that use them. These general-purpose threshold settings are used for everything except rise/fall measurements and protocol decode.
25 Measure Commands Returned Format Example [:MEASure:THResholds:GENeral:PERCent] ,, 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.
25 Measure Commands :MEASure:THResholds:GENeral:TOPBase:ABSolute Command :MEASure:TOPBase:THResholds:GENeral:ABSolute ,, The :MEASure:TOPBase:THResholds:GENeral:ABSolute command sets the top level and base level voltages that are used to calculate the measurements that use them. These general-purpose threshold settings are used for everything except rise/fall measurements and protocol decode.
25 Measure Commands 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 NOTE Turn Off Headers When receiving numeric data into numeric variables, turn off the headers. Otherwise, the headers may cause misinterpretation of returned data.
Measure Commands 25 :MEASure:THResholds:GENeral:TOPBase:METHod Command :MEASure:THResholds:GENeral:TOPBase:METHod ,{ABSolute | HISTONLY | MINmax | STANdard} The :MEASure:THResholds:GENeral:TOPBase:METHod command determines the way that the top and base of a waveform are derived for all of the measurements that use them. These general-purpose threshold settings are used for everything except rise/fall measurements and protocol decode.
25 Measure Commands myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.WriteString ":MEASure:THResholds:GENeral:TOPBase:METHod CHANnel1 " varMethod = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:THResholds:HYSTeresis Command :MEASure:THResholds:HYSTeresis ,, The :MEASure:THResholds:HYSTeresis command sets the range and level voltages that are used to calculate the measurements that use them. The range is added to the level to determine the upper level voltage for measurements that use it. The range is subtracted from the level to determine the lower level voltage. The level is the middle level voltage.
25 Measure Commands Query :MEASure:THResholds:HYSTeresis? The :MEASure:THResholds:HYSTeresis? query returns the current settings for upper level, middle level, and lower level voltages for the custom thresholds. Returned Format Example [:MEASure:THResholds:HYSTeresis], 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.
Measure Commands 25 :MEASure:THResholds:METHod Command :MEASure:THResholds:METHod ,{ABSolute | PERCent | HYSTeresis} The :MEASure:THResholds:METHod command determines the way that the top and base of a waveform are calculated for all of the measurements that use them. This command changes the threshold settings used for rise/fall time measurements, protocol decode, and all other general-purpose measurements that use thresholds.
25 Measure Commands 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.
Measure Commands 25 :MEASure:THResholds:PERCent Command :MEASure:THResholds:PERCent ,,, The :MEASure:THResholds:PERCent command sets the upper level, middle level, and lower level voltages as a percentage of the top and base voltages which are used to calculate the measurements that use them. This command changes the threshold settings used for rise/fall time measurements, protocol decode, and all other general-purpose measurements that use thresholds.
25 Measure Commands The :MEASure:THResholds:PERCent? query returns the current settings for upper level, middle level, and lower level percentages. Returned Format Example [:MEASure:THResholds:PERCent] ,, 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.
Measure Commands 25 :MEASure:THResholds:RFALl:ABSolute Command :MEASure:THResholds:RFALl:ABSolute , ,, The :MEASure:THResholds:RFALl:ABSolute command sets the upper level, middle level, and lower level voltages that are used to calculate the measurements that use them. These threshold settings are used for rise/fall measurements.
25 Measure Commands The :MEASure:THResholds:RFALl:ABSolute? query returns the current settings for upper level, middle level, and lower level voltages for the custom thresholds. Returned Format Example [:MEASure:THResholds:RFALl:ABSolute] ,, 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.
25 Measure Commands :MEASure:THResholds:RFALl:HYSTeresis Command :MEASure:THResholds:RFALl:HYSTeresis ,, The :MEASure:THResholds:RFALl:HYSTeresis command sets the range and level voltages that are used to calculate the measurements that use them. The range is added to the level to determine the upper level voltage for measurements that use it. The range is subtracted from the level to determine the lower level voltage. The level is the middle level voltage.
25 Measure Commands The :MEASure:THResholds:RFALl:HYSTeresis? query returns the current settings for upper level, middle level, and lower level voltages for the custom thresholds. Returned Format Example [:MEASure:THResholds:RFALl:HYSTeresis], This example returns the range and level voltages used to calculate the rise/fall measurements on channel 1. myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.
25 Measure Commands :MEASure:THResholds:RFALl:METHod Command :MEASure:THResholds:RFALl:METHod ,{ABSolute | PERCent | HYSTeres is} The :MEASure:THResholds:RFALl:METHod command determines the way that the top and base of a waveform are calculated for all of the measurements that use them. These threshold settings are used for rise/fall measurements.
25 Measure Commands myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.WriteString ":MEASure:THResholds:RFALl:METHod?" varMethod = myScope.ReadNumber Debug.
Measure Commands 25 :MEASure:THResholds:RFALl:PERCent Command :MEASure:THResholds:RFALl:PERCent ,,, The :MEASure:THResholds:RFALl:PERCent command sets the upper level, middle level, and lower level voltages as a percentage of the top and base voltages which are used to calculate the measurements that use them. These threshold settings are used for rise/fall measurements.
25 Measure Commands Returned Format Example [:MEASure:THResholds:RFALl:PERCent] ,, 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.
Measure Commands 25 :MEASure:THResholds:RFALl:TOPBase:ABSolute Command :MEASure:TOPBase:THResholds:RFALl:ABSolute ,, The :MEASure:TOPBase:THResholds:RFALl:ABSolute command sets the top level and base level voltages that are used to calculate the measurements that use them. These threshold settings are used for rise/fall measurements.
25 Measure Commands 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 NOTE Turn Off Headers When receiving numeric data into numeric variables, turn off the headers. Otherwise, the headers may cause misinterpretation of returned data.
25 Measure Commands :MEASure:THResholds:RFALl:TOPBase:METHod Command :MEASure:THResholds:RFALl:TOPBase:METHod ,{ABSolute | HISTONLY | MINmax | STANdard} The :MEASure:THResholds:RFALl:TOPBase:METHod command determines the way that the top and base of a waveform are derived for all of the measurements that use them. These threshold settings are used for rise/fall measurements.
25 Measure Commands myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.WriteString ":MEASure:THResholds:RFALl:TOPBase:METHod CHANnel1" varMethod = myScope.ReadNumber Debug.
Measure Commands 25 :MEASure:THResholds:SERial:ABSolute Command :MEASure:THResholds:SERial:ABSolute , ,, The :MEASure:THResholds:SERial:ABSolute command sets the upper level, middle level, and lower level voltages that are used for protocol decode. These serial threshold settings are used for protocol decode.
25 Measure Commands Returned Format Example [:MEASure:THResholds:SERial:ABSolute] ,, 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.
25 Measure Commands :MEASure:THResholds:SERial:HYSTeresis Command :MEASure:THResholds:SERial:HYSTeresis ,, The :MEASure:THResholds:SERial:HYSTeresis command sets the range and level voltages that are used for protocol decode. The range is added to the level to determine the upper level voltage. The range is subtracted from the level to determine the lower level voltage. The level is the middle level voltage. These serial threshold settings are used for protocol decode.
25 Measure Commands The :MEASure:THResholds:SERial:HYSTeresis? query returns the current settings for upper level, middle level, and lower level voltages for the custom thresholds. Returned Format Example [:MEASure:THResholds:SERial:HYSTeresis], This example returns the range and level voltages used for protocol decode on channel 1. myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.
25 Measure Commands :MEASure:THResholds:SERial:METHod Command :MEASure:THResholds:SERial:METHod ,{ABSolute | PERCent | HYSTere sis} The :MEASure:THResholds:SERial:METHod command determines the way that the top and base of a waveform are calculated for protocol decode. These serial threshold settings are used for protocol decode.
25 Measure Commands myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.WriteString ":MEASure:THResholds:SERial:METHod?" varMethod = myScope.ReadNumber Debug.
Measure Commands 25 :MEASure:THResholds:SERial:PERCent Command :MEASure:THResholds:SERial:PERCent ,,, The :MEASure:THResholds:SERial:PERCent command sets the upper level, middle level, and lower level voltages as a percentage of the top and base voltages which are used for protocol decode. These serial threshold settings are used for protocol decode.
25 Measure Commands Returned Format Example [:MEASure:THResholds:SERial:PERCent] ,, 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.
Measure Commands 25 :MEASure:THResholds:SERial:TOPBase:ABSolute Command :MEASure:TOPBase:THResholds:SERial:ABSolute ,, The :MEASure:TOPBase:THResholds:SERial:ABSolute command sets the top level and base level voltages that are used for protocol decode. These serial threshold settings are used for protocol decode.
25 Measure Commands 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 NOTE Turn Off Headers When receiving numeric data into numeric variables, turn off the headers. Otherwise, the headers may cause misinterpretation of returned data.
Measure Commands 25 :MEASure:THResholds:SERial:TOPBase:METHod Command :MEASure:THResholds:SERial:TOPBase:METHod ,{ABSolute | HISTONLY | MINmax | STANdard} The :MEASure:THResholds:SERial:TOPBase:METHod command determines the way that the top and base of a waveform are derived for protocol decode. These serial threshold settings are used for protocol decode.
25 Measure Commands myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.WriteString ":MEASure:THResholds:SERial:TOPBase:METHod CHANnel1" varMethod = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:THResholds:TOPBase:ABSolute Command :MEASure:TOPBase:THResholds:ABSolute ,, The :MEASure:TOPBase:THResholds:ABSolute command sets the top level and base level voltages that are used to calculate the measurements that use them. This command changes the threshold settings used for rise/fall time measurements, protocol decode, and all other general-purpose measurements that use thresholds.
25 Measure Commands The :MEASure:THResholds:TOPBase:ABSolute? query returns the current settings for top level and base level voltages. Returned Format Example [:MEASure:THResholds:TOPBase:ABSolute] , 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.
Measure Commands 25 :MEASure:THResholds:TOPBase:METHod Command :MEASure:THResholds:TOPBase:METHod ,{ABSolute | HISTONLY | MINmax | STANdard} The :MEASure:THResholds:TOPBase:METHod command determines the way that the top and base of a waveform are derived for all of the measurements that use them. This command changes the threshold settings used for rise/fall time measurements, protocol decode, and all other general-purpose measurements that use thresholds.
25 Measure Commands Returned Format Example [:MEASure:THResholds:TOPBase:METHod] {ABSolute | HISTONLY | MINmax | STA Ndard} 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.
Measure Commands 25 :MEASure:TIEClock2 Command Turn Off Headers NOTE When receiving numeric data into numeric variables, turn off the headers. Otherwise, the headers may cause misinterpretation of returned data. This command is only available when the E2681A Jitter Analysis Software or the N5400A/5401A Software is installed.
25 Measure Commands Specifies direction of clock edge. BOTH selects the first edge from the left- hand side of the waveform viewing area. A real number for the ideal clock frequency for clock recovery. A real number for the loop bandwidth of the PLL clock recovery method. Example This example measures the clock time interval error on the rising edge of channel 1, ideal clock frequency set to automatic, units set to seconds. myScope.
Measure Commands 25 :MEASure:TIEData Command This command is only available when the E2681A Jitter Analysis Software, Serial Data Analysis, or the N5400A/5401A Software is installed. NOTE :MEASure:TIEData ,{SECond | UNITinterval}, {AUTO | CUSTOM, | VARiable,, | CLOCk} The :MEASure:TIEData command measures data time interval error. You can set the units of the measurement by selecting SECond (seconds) or UNITinterval.
25 Measure Commands Query :MEASure:TIEData? ,(SECond | UNITinterval}, {AUTO | CUSTom, | VARiable,, | CLOCk} The :MEASure:TIEData? query returns the current value of the data time interval error. Returned Format Example [:MEASure:TIEData] [,] The data time interval error value. If SENDvalid is ON, the result state is returned with the measurement result.
25 Measure Commands :MEASure:TIEFilter:SHAPe Command :MEASure:TIEFilter:SHAPe {RECTangular | DB20 | DB40} The :MEASure:TIEFilter:SHAPe command specifies the shape of the TIE filter edge(s): • RECTangular — The TIE filter is a brickwall filter. • DB20 — The TIE filter edge(s) roll off at 20 dB per decade. • DB40 — The TIE filter edge(s) roll off at 40 dB per decade. Example This example specifies that the TIE filter edge(s) roll off at 40 dB per decade. myScope.
25 Measure Commands :MEASure:TIEFilter:STARt Command :MEASure:TIEFilter:STARt The :MEASure:TIEFilter:STARt command sets the starting frequency for the TIE filter. Query A real number. :MEASure:TIEFilter:STARt? The :MEASure:TIEFilter:STARt? query returns the current value of the starting frequency of the TIE filter. Returned Format [:MEASure:TIEFilter:STARt] The start frequency for the TIE filter.
Measure Commands 25 :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 Example [:MEASure:TIEFilter:STATe] {0 | 1} This example returns the current state of the TIE data filter then prints the contents of the variable to the computer's screen.
25 Measure Commands :MEASure:TIEFilter:STOP Command :MEASure:TIEFilter:STOP The :MEASure:TIEFilter:STOP command sets the stopping frequency for the TIE filter. Query A real number. :MEASure:TIEFilter:STOP? The :MEASure:TIEFilter:STOP? query returns the current value of the stopping frequency of the TIE filter. Returned Format [:MEASure:TIEFilter:STOP] The stop frequency for the TIE filter.
25 Measure Commands :MEASure:TIEFilter:TYPE Command :MEASure:TIEFilter:TYPE {BANDpass | LOWPass | HIGHpass} The :MEASure:TIEFilter:TYPE command sets the type of TIE filter to be used. Example This example sets the TIE filter to highpass. myScope.WriteString ":MEASURE:TIEFilter:TYPE HIGHpass" Query :MEASure:TIEFilter:TYPE? The :MEASure:TIEFilter:TYPE? query returns the current type of TIE filter being used.
25 Measure Commands :MEASure:TMAX Command :MEASure:TMAX [] 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.
Measure Commands 25 :MEASure:TMIN Command :MEASure:TMIN [] 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. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
25 Measure Commands :MEASure:TVOLt Command :MEASure:TVOLt ,[] [,] 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.
Measure Commands Example 25 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. 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.
25 Measure Commands :MEASure:UITouijitter Command :MEASure:UITouijitter , The :MEASure:UITouijitter command measures the difference between two consecutive N- UI measurements. The measurement then moves over one unit interval and makes another measurement. When N=1, this is analogous to cycle- cycle jitter, but measures unit intervals instead of periods. When N>1, this is analogous to N- Cycle jitter but measures unit intervals instead of periods.
Measure Commands 25 :MEASure:UNITinterval Command This command is only available when the E2681A Jitter Analysis Software or the N5400A/5401A Software is installed. NOTE :MEASure:UNITinterval [,{AUTO | (SEMI,)}] The :MEASure:UNITinterval command measures the unit interval value of the selected source.
25 Measure Commands Example This example places the current unit interval 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:UNITINTERVAL? CHANNEL1" varValue = myScope.ReadNumber Debug.
Measure Commands 25 :MEASure:VAMPlitude Command :MEASure:VAMPlitude [] The :MEASure:VAMPlitude command calculates the difference between the top and base voltage of the specified source. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:VAMPlitude command.
25 Measure Commands :MEASure:VAVerage Command :MEASure:VAVerage {CYCLe | DISPlay}[,] The :MEASure:VAVerage command calculates the average voltage over the displayed waveform. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:VAVerage command. CYCLe The CYCLe parameter instructs the average measurement to measure the average voltage across the first period on the display.
Measure Commands Example 25 This example places the current average voltage in the numeric variable, varAverage, then prints the contents of the variable to the computer's screen. myScope.WriteString ":SYSTEM:HEADER OFF" ' Response headers off. myScope.WriteString ":MEASURE:VAVERAGE? DISPLAY,CHANNEL1 CHANNEL1" varAverage = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:VBASe Command :MEASure:VBASe [] The :MEASure:VBASe command measures the statistical base of the waveform. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:VBASe command. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
Measure Commands 25 :MEASure:VLOWer Command :MEASure:VLOWer [] The :MEASure:VLOWer command measures the voltage value at the lower threshold of the waveform. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:VLOWer command. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
25 Measure Commands :MEASure:VMAX Command :MEASure:VMAX [] The :MEASure:VMAX command measures the absolute maximum voltage present on the selected source waveform. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:VMAX command.
Measure Commands 25 varMaximum = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:VMIDdle Command :MEASure:VMIDdle [] The :MEASure:VMIDdle command measures the voltage level at the middle threshold of the waveform. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:VMIDdle command. Query :MEASure:VMIDdle? [] The :MEASure:VMIDdle? query returns the voltage value at the middle threshold of the waveform.
25 Measure Commands :MEASure:VMIN Command :MEASure:VMIN [] The :MEASure:VMIN command measures the absolute minimum voltage present on the selected source waveform. Sources are specified with :MEASure:SOURce or with the optional parameter following the :MEASure:VMIN command. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
25 Measure Commands varMinimum = myScope.ReadNumber Debug.
Measure Commands 25 :MEASure:VOVershoot Command :MEASure:VOVershoot [,] The :MEASure:VOVershoot command is similar to the overshoot measurement, but instead of returning the ratio of overshoot voltage to amplitude as a percent, it returns the local voltage of the overshoot.
25 Measure Commands :MEASure:VPP Command :MEASure:VPP [] The :MEASure:VPP command measures the maximum and minimum voltages on the selected source, then calculates the peak- to- peak voltage as the difference between the two voltages. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:VPP command.
Measure Commands 25 myScope.WriteString ":SYSTEM:HEADER OFF" ' Response headers off. myScope.WriteString ":MEASURE:VPP? CHANNEL1" varVoltage = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:VPReshoot Command :MEASure:VPReshoot [,] The :MEASure:VPReshoot command is similar to the preshoot measurement, but instead of returning the ratio of preshoot voltage to amplitude as a percent, it returns the local voltage of the preshoot. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
Measure Commands 25 :MEASure:VRMS Command :MEASure:VRMS {CYCLe | DISPlay},{AC | DC} [, [,{VOLT | DBM}]] The :MEASure:VRMS command measures the RMS voltage of the selected waveform by subtracting the average value of the waveform from each data point on the display. Sources are specified with the :MEASure:SOURce command or with the optional parameter following the :MEASure:VRMS command.
25 Measure Commands Example This example measures the RMS voltage of the previously selected waveform. myScope.WriteString ":MEASURE:VRMS CYCLE,AC,CHANNEL1" Query :MEASure:VRMS? {CYCLe | DISPlay},{AC | DC} [, [,{VOLT | DBM}]] The :MEASure:VRMS? query returns the RMS voltage of the specified source. Returned Format Example [:MEASure:VRMS] [,] RMS voltage of the selected waveform.
25 Measure Commands :MEASure:VTIMe Command :MEASure:VTIMe [,] 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.
25 Measure Commands myScope.WriteString ":SYSTEM:HEADER OFF" ' Response headers off. myScope.WriteString ":MEASURE:VTIME? 500E-3,CHANNEL1" varValue = myScope.ReadNumber Debug.
Measure Commands 25 :MEASure:VTOP Command :MEASure:VTOP [] 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. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
25 Measure Commands :MEASure:VUPPer Command :MEASure:VUPPer [] The :MEASure:VUPPer command measures the voltage value at the upper threshold of the waveform. Sources are specified with the MEASure:SOURce command or with the optional parameter following the :MEASure:VUPPer command. {CHANnel | FUNCtion | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
Measure Commands 25 varValue = myScope.ReadNumber Debug.
25 Measure Commands :MEASure:WINDow Command :MEASure:WINDow {ZOOM | {MAIN | ALL}}, {MEASN} The :MEASure:WINDow command specifies whether measurements are made in the ZOOM window (measurement gating) or over the entire acquisition (MAIN or ALL). The MAIN and ALL parameters are equivalent. Example This example gates Measurement 1 to the zoom window. myScope.
Measure Commands 25 :MEASurement:NAME Command :MEASurement:NAME The :MEASurement:NAME commands sets the name of the specified measurement to whatever string is given to . This lets you give specific names to measurements displayed on the oscilloscope's screen. Query An integer, 1- 10. This number represents the position of the measurement on screen in the Measurements tab. A quoted string.
25 Measure Commands :MEASurement:SOURce Command :MEASurement:SOURce [,] The :MEASurement:SOURce command changes the source of an existing measurement in the Measurements tab of the user interface. An integer, 1- 10. This number represents the position of the measurement on screen in the Measurements tab.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 26 Pod Commands :POD:DISPlay 746 :POD:PSKew 747 :POD:THReshold 748 NOTE The POD commands only apply to the MSO oscilloscopes.
26 Pod Commands :POD:DISPlay Command The POD commands only apply to the MSO oscilloscopes. NOTE :POD[:DISPlay] {ON | OFF | 1 | 0} The :POD: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. Example An integer, 1- 2.
26 Pod Commands :POD:PSKew Command :POD:PSKew The :POD: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. Example An integer, 1- 2. A real number for the skew value, in the range - 1 ms to +1 ms. This example sets the probe skew for all digital channels to 10 μs. myScope.
26 Pod Commands :POD:THReshold Command The POD commands only apply to the MSO oscilloscopes. NOTE :POD:THReshold {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL | DIFFerential | } The :POD: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:THReshold command.
Pod Commands See Also 26 • ":DIGital:THReshold" on page 275 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 749
26 Pod Commands 750 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 27 Root Level Commands :ADER? 753 :AER? 754 :ASTate? 755 :ATER? 756 :AUToscale 757 :AUToscale:CHANnels 758 :AUToscale:PLACement 759 :AUToscale:VERTical 760 :BEEP 761 :BLANk 762 :CDISplay 763 :DIGitize 764 :DISable DIGital 766 :ENABle DIGital 767 :MTEE 769 :MTER? 770 :MODel? 768 :OPEE 771 :OPER? 772 :OVLRegister? 773 :PDER? 774 :PRINt 775 :RECall:SETup 776 :RSTate? 777 :RUN 778 :SERial 779 :SINGle 780 :STATus? 781 :STOP 783 :STORe:JITTer 784
27 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.
Root Level Commands 27 :ADER? (Acquisition Done Event Register) Query :ADER? 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.
27 Root Level Commands :AER? (Arm Event Register) Query :AER? 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. NOTE Arm Event Returns :AER? will allow the Arm Event to return either immediately (if you have armed but not triggered) or on the next arm (if you have already triggered).
Root Level Commands 27 :ASTate? Query :ASTate? The :ASTate? query returns the acquisition state: • ARM — The trigger is armed and the oscilloscope has acquired all of the pre- trigger data. • TRIG — The trigger condition has occurred and the oscilloscope is acquiring post trigger data. • ATRIG — The trigger condition has not been met, but the oscilloscope has auto triggered and is acquiring post trigger data. • ADONE — The acquisition is done, and the data has been processed and is ready to be unloaded.
27 Root Level Commands :ATER? (Auto Trigger Event Register) Query :ATER? 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.
27 Root Level Commands :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.
27 Root Level Commands :AUToscale:CHANnels Command :AUToscale:CHANnels {ALL | DISPlayed} The :AUToscale:CHANnels command selects whether to apply autoscale to all of the input channels or just the input channels that are currently displayed. Example This example automatically scales only the displayed channels. myScope.
Root Level Commands 27 :AUToscale:PLACement Command :AUToscale:PLACement {STACk | SEParate | OVERlay} The :AUToscale:PLACement command controls how the waveforms are displayed on the oscilloscope when the autoscale command is used. If Stack is chosen then each waveform's amplitude is decreased and then the waveforms are offset so each takes up a different vertical portion of the screen.
27 Root Level Commands :AUToscale:VERTical Command :AUToscale:VERTical {CHANnel} The :AUToscale:VERTical command autoscales the vertical position and scaling for the corresponding channel without changing anything else (for example, trigger or timebase settings). Example This example automatically autoscales the vertical position and scale for the waveform on Channel 1. myScope.WriteString ":AUTOSCALE:VERTical CHAN1" NOTE If you are using software 2.
Root Level Commands 27 :BEEP Command :BEEP , The :BEEP command makes the oscilloscope beep at a defined frequency and duration. Example A real number representing frequency of beep in Hertz. A real number representing duration of beep in milliseconds. This example will create a beep at 1000 Hz for 500 ms. myScope.
27 Root Level Commands :BLANk Command :BLANk {CHANnel | BUS | DIFFerential | COMMonmode
| DIGital | FUNCtion | HISTogram | WMEMory | CLOCk | MTRend | MSPectrum | EQUalize | POD | 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. An integer, 1- 4. An integer, 1- 2.
Root Level Commands 27 :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.
27 Root Level Commands :DIGitize Command :DIGitize [CHANnel | DIGital | COMMonmode | DIFFerential
| POD
][,...] An integer, 1- 4. An integer, 0- 15. An integer, 1- 2. The COMMonmode and DIFFerential 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.
Root Level Commands Example 27 This example acquires data on channel 1. myScope.WriteString ":DIGitize CHANnel1" 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.
27 Root Level Commands :DISable DIGital Command :DISable DIGital The :DISable DIGital command disables the digital channels 0- 15. Example This example will disable the digital channels. myScope.
Root Level Commands 27 :ENABle DIGital Command :ENABle DIGital The :ENABle DIGital command enables the digital channels 0- 15. Example This example will enable the digital channels. myScope.
27 Root Level Commands :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 21.
Root Level Commands 27 :MTEE (Mask Test Enable Register) Command :MTEE The :MTEE command is used to set bits in the Mask Test Enable Register.
27 Root Level Commands :MTER? (Mask Test Event Register) Query :MTER? The :MTER? 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.
Root Level Commands 27 :OPEE (Operation Status Enable) Command :OPEE The decimal weight of the enabled bits. The :OPEE command sets a mask in the Operation Status Enable register. Each bit that is set to a "1" enables that bit to set bit 7 in the status byte register, and potentially causes an SRQ to be generated. Bit 5, Wait for Trig is used. Other bits are reserved. Query :OPEE? The query returns the current value contained in the Operation Status Enable register as a decimal number.
27 Root Level Commands :OPER? (Operation Status Register) Query :OPER? The :OPER? 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.
27 Root Level Commands :OVLRegister? Query :OVLRegister? The :OVLRegister? query returns the value stored in the Overload Event Register.
27 Root Level Commands :PDER? (Processing Done Event Register) Query :PDER? 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?.
Root Level Commands 27 :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.
27 Root Level Commands :RECall:SETup Command Examples :RECall:SETup Setup memory number, an integer, 0 through 9. The :RECall:SETup command recalls a setup that was saved in one of the oscilloscope's setup memories. You can save setups using either the :STORe:SETup command or the front panel. This command recalls a setup from setup memory 2. myScope.
Root Level Commands 27 :RSTate? Query :RSTate? The :RSTate? query returns the run state: • RUN — The oscilloscope is acquiring and displaying new waveforms. • STOP — The oscilloscope is no longer acquiring new waveforms. • SING — A single acquisition has been started and the oscilloscope is waiting for the trigger condition to be met. These are the same run states displayed on the front panel and in the user interface.
27 Root Level Commands :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.
27 Root Level Commands :SERial (Serial Number) Command :SERial {} The :SERial command sets the serial number of the oscilloscope. A serial number was entered in your oscilloscope by Agilent 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.
27 Root Level Commands :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" See Also 780 :TRIGger:SWEep AUTO|TRIGgered|SINGle for how to turn the single sweep off.
Root Level Commands 27 :STATus? Query :STATus? {CHANnel | COMMonmode | DIFFerential
| FUNCtion | HISTogram | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized | BUS | DIGital | POD} 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.
27 Root Level Commands myScope.WriteString ":STATus? CHANnel1" strCurrent = myScope.ReadString Debug.
Root Level Commands 27 :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.
27 Root Level Commands :STORe:JITTer Command :STORe:JITTer 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.
Root Level Commands 27 :STORe:SETup Command Example :STORe:SETup Setup memory number, an integer, 0 through 9. The :STORe:SETup command saves the current oscilloscope setup in one of the setup memories. This example stores the current oscilloscope setup to setup memory 0. myScope.
27 Root Level Commands :STORe:WAVeform Command :STORe:WAVeform {{CHANnel | COMMonmode | DIFFerential
| FUNCtion | WMEMory | MTRend | MSPectrum}, {WMEMory}} MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled. An integer, 1- 4. An integer, 1- 2. An integer, 1- 16.
Root Level Commands 27 :TER? (Trigger Event Register) Query :TER? The :TER? query reads the Trigger Event Register. A "1" is returned if a trigger has occurred. A "0" is returned if a trigger has not occurred. The autotrigger does not set this register. The register is set to a value of 1 only when the waveform meets the trigger criteria.
27 Root Level Commands :VIEW Command :VIEW {CHANnel | COMMonmode | DIFFerential
| FUNCtion | HISTogram | WMEMory | MSTrend | MSPectrum | BUS | DIGital | POD} The :VIEW command turns on a channel, function, histogram, or waveform memory. The :BLANk command turns them off. MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled. An integer, 1- 4. An integer, 1- 2.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 28 Serial Bus Commands General :SBUS Commands 790 :SBUS:CAN Commands 793 :SBUS:IIC Commands 804 :SBUS:SPI Commands 812 The :SBUS subsystem commands control the serial decode bus viewing, mode, and other options. NOTE These commands are only valid when the corresponding serial decode option has been licensed.
28 Serial Bus Commands General :SBUS Commands • ":SBUS[:DISPlay]" on page 791 • ":SBUS:MODE" on page 792 790 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Serial Bus Commands 28 :SBUS[:DISPlay] Command :SBUS[:DISPlay] ::= {{1 | ON} | {0 | OFF}} The :SBUS[:DISPlay] command turns displaying of the serial decode bus on or off. NOTE Query This command is only valid when a serial decode option has been licensed. :SBUS[:DISPlay]? The :SBUS[:DISPlay]? query returns the current display setting of the serial decode bus.
28 Serial Bus Commands :SBUS:MODE Command :SBUS:MODE ::= {CAN | IIC | SPI} The :SBUS:MODE command determines the decode mode for the serial bus. NOTE Query This command is only valid when a serial decode option has been licensed. :SBUS:MODE? The :SBUS:MODE? query returns the current serial bus decode mode setting.
Serial Bus Commands 28 :SBUS:CAN Commands • ":SBUS:CAN:SAMPlepoint" on page 794 • ":SBUS:CAN:SIGNal:BAUDrate" on page 795 • ":SBUS:CAN:SIGNal:DEFinition" on page 796 • ":SBUS:CAN:SOURce" on page 797 • ":SBUS:CAN:TRIGger" on page 798 • ":SBUS:CAN:TRIGger:PATTern:DATA" on page 800 • ":SBUS:CAN:TRIGger:PATTern:DATA:LENGth" on page 801 • ":SBUS:CAN:TRIGger:PATTern:ID" on page 802 • ":SBUS:CAN:TRIGger:PATTern:ID:MODE" on page 803 NOTE See Also These commands are only valid when
28 Serial Bus Commands :SBUS:CAN:SAMPlepoint Command :SBUS:CAN:SAMPlepoint ::= {60 | 62.5 | 65 | 67.5 | 68 | 70 | 72.5 | 75 | 77.5 | 80 | 82.5 | 85 | 87.5} in NR3 format The :SBUS:CAN:SAMPlepoint command sets the point during the bit time where the bit level is sampled to determine whether the bit is dominant or recessive. The sample point represents the percentage of time between the beginning of the bit time to the end of the bit time. Query An integer, 1- 4.
Serial Bus Commands 28 :SBUS:CAN:SIGNal:BAUDrate Command :SBUS:CAN:SIGNal:BAUDrate ::= a real number from 10E3 to 5E6 The :SBUS:CAN:SIGNal:BAUDrate command sets the standard baud rate of the CAN signal from 10 kb/s to 5 Mb/s. If the baud rate you select does not match the system baud rate, false triggers may occur. Query An integer, 1- 4. :SBUS:CAN:SIGNal:BAUDrate? The :SBUS:CAN:SIGNal:BAUDrate? query returns the current CAN baud rate setting.
28 Serial Bus Commands :SBUS:CAN:SIGNal:DEFinition Command :SBUS:CAN:SIGNal:DEFinition ::= {CANH | CANL | DIFFerential | DIFL} The :SBUS:CAN:SIGNal:DEFinition command sets the CAN signal type when :SBUS:CAN:TRIGger is set to SOF (start of frame). These signals can be set to: Dominant high signals: • CANH — the actual CAN_H differential bus signal. Dominant low signals: • CANL — the actual CAN_L differential bus signal.
Serial Bus Commands 28 :SBUS:CAN:SOURce Command :SBUS:CAN:SOURce ::= {CHANnel | FUNCtion | WMEMory | DIGital} The :SBUS:CAN:SOURce command sets the source for the CAN signal. CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. FUNCtion is an integer, 1- 16. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes.
28 Serial Bus Commands :SBUS:CAN:TRIGger Command :SBUS:CAN:TRIGger ::= {SOF | DATA | ERRor | IDData | IDRemote | ALLerrors | OVERload | ACKerror | MESSage | MSIGnal} NOTE You must set the proper :SBUS:MODE, :SBUS:CAN:TRIGger, and :SBUS:CAN:TRIGger:PATTern:ID:MODE before setting any other trigger values.
28 Serial Bus Commands Remote parameter Front-panel Trigger on: softkey selection (softkey text - softkey popup text) OVERload Overload - Overload Frame ACKerror Ack Error - Acknowledge Error CAN Id specification is set by the :SBUS:CAN:TRIGger:PATTern:ID and:SBUS:CAN:TRIGger:PATTern:ID:MODE commands. CAN Data specification is set by the :SBUS:CAN:TRIGger:PATTern:DATA command. CAN Data Length Code is set by the :SBUS:CAN:TRIGger:PATTern:DATA:LENGth command.
28 Serial Bus Commands :SBUS:CAN:TRIGger:PATTern:DATA Command :SBUS:CAN:TRIGger:PATTern:DATA ::= "nn...n" where n ::= {0 | 1 | X | $} :MODE, :SBUS:CAN:TRIGger, and :SBUS:CAN:TRIGger:PATTern:ID:MODE before setting any other trigger values. NOTE The :SBUS:CAN:TRIGger:PATTern:DATA command defines the CAN data pattern resource according to the string parameter.
Serial Bus Commands 28 :SBUS:CAN:TRIGger:PATTern:DATA:LENGth Command :SBUS:CAN:TRIGger:PATTern:DATA:LENGth ::= integer from 1 to 8 in NR1 format You must set the proper :SBUS:MODE, :SBUS:CAN:TRIGger, and :SBUS:CAN:TRIGger:PATTern:ID:MODE before setting any other trigger values. NOTE The :SBUS:CAN:TRIGger:PATTern:DATA:LENGth command sets the number of 8- bit bytes in the CAN data string.
28 Serial Bus Commands :SBUS:CAN:TRIGger:PATTern:ID Command :SBUS:CAN:TRIGger:PATTern:ID ::= "nn...n" where n ::= {0 | 1 | X | $} :MODE, :SBUS:CAN:TRIGger, and :SBUS:CAN:TRIGger:PATTern:ID:MODE before setting this value; otherwise, this value is defaulted to "don't care" when the mode is changed.
Serial Bus Commands 28 :SBUS:CAN:TRIGger:PATTern:ID:MODE Command :SBUS:CAN:TRIGger:PATTern:ID:MODE ::= {STANdard | EXTended} You must set the proper :SBUS:MODE, :SBUS:CAN:TRIGger, and :SBUS:CAN:TRIGger:PATTern:ID:MODE before setting any other trigger values. NOTE The :SBUS:CAN:TRIGger:PATTern:ID:MODE command sets the CAN identifier mode. STANdard selects the standard 11- bit identifier. EXTended selects the extended 29- bit identifier.
28 Serial Bus Commands :SBUS:IIC Commands • ":SBUS:IIC:ASIZe" on page 805 • ":SBUS:IIC:SOURce:CLOCk" on page 806 • ":SBUS:IIC:SOURce:DATA" on page 807 • ":SBUS:IIC:TRIGger:PATTern:ADDRess" on page 808 • ":SBUS:IIC:TRIGger:PATTern:DATA" on page 809 • ":SBUS:IIC:TRIGger:TYPE" on page 810 NOTE See Also 804 These commands are only valid when the low-speed IIC and SPI serial decode option has been licensed.
Serial Bus Commands 28 :SBUS:IIC:ASIZe Command :SBUS:IIC:ASIZe ::= {BIT7 | BIT8} The :SBUS:IIC:ASIZe command determines whether the Read/Write bit is included as the LSB in the display of the IIC address field of the decode bus. Query An integer, 1- 4. :SBUS:IIC:ASIZe? The :SBUS:IIC:ASIZe? query returns the current IIC address width setting.
28 Serial Bus Commands :SBUS:IIC:SOURce:CLOCk Command :SBUS:IIC:SOURce:CLOCk ::= {CHANnel | FUNCtion | WMEMory | DIGital} The :SBUS:IIC:SOURce:CLOCk command sets the source for the IIC serial clock (SCL). CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. Example FUNCtion is an integer, 1- 16. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes.
Serial Bus Commands 28 :SBUS:IIC:SOURce:DATA Command :SBUS:IIC:SOURce:DATA ::= {CHANnel | FUNCtion | WMEMory | DIGital} The :SBUS:IIC:SOURce:DATA command sets the source for IIC serial data (SDA). CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. Example FUNCtion is an integer, 1- 16. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes. This example selects channel 1 as the source for IIC serial data.
28 Serial Bus Commands :SBUS:IIC:TRIGger:PATTern:ADDRess Command :SBUS:IIC:TRIGger:PATTern:ADDRess You must set :SBUS:MODE to IIC before you can send other :SBUS:IIC:TRIGger commands. NOTE The :SBUS:IIC:TRIGger:PATTern:ADDRess command specifies the IIC address value to trigger on.The address can be a 7- , 8- , 10- , or 11- bit address depending upon the :SBUSIIC:TRIGger:TYPE specification and the :SBUSIIC:ASIZe setting.
Serial Bus Commands 28 :SBUS:IIC:TRIGger:PATTern:DATA Command :SBUS:IIC:TRIGger:PATTern:DATA You must set :SBUS:MODE to IIC before you can send other :SBUS:IIC:TRIGger commands. NOTE The :SBUS:IIC:TRIGger:PATTern:DATA command sets IIC data. You can specify 1 to 20 bytes of data in binary or hex format. The :SBUS:IIC:TRIGger:TYPE command must select a type that includes a data value before you can use the :SBUS:IIC:TRIGger:PATTern:DATA commands.
28 Serial Bus Commands :SBUS:IIC:TRIGger:TYPE Command :SBUS:IIC:TRIGger:TYPE {STARt | STOP | RESTart7 | RESTart10 | AACK | ANACk | READ7| WRITe7 | WRITe10} You must set :SBUS:MODE to IIC before you can send other :SBUS:IIC:TRIGger commands. NOTE The :SBUS:IIC:TRIGger:TYPE command sets the IIC trigger type: • STARt — Start condition. • STOP — Stop condition. • RESTart7 — Another 7- bit start condition occurs before a stop condition.
Serial Bus Commands 28 myScope.WriteString ":SBUS1:IIC:TRIGger:TYPE READ7" myScope.WriteString ":SBUS1:IIC:TRIGger:PATTern:ADDRess '0x3f'" myScope.
28 Serial Bus Commands :SBUS:SPI Commands • ":SBUS:SPI:BITorder" on page 813 • ":SBUS:SPI:CLOCk:SLOPe" on page 814 • ":SBUS:SPI:CLOCk:TIMeout" on page 815 • ":SBUS:SPI:FRAMe:STATe" on page 816 • ":SBUS:SPI:SOURce:CLOCk" on page 817 • ":SBUS:SPI:SOURce:DATA" on page 818 • ":SBUS:SPI:SOURce:FRAMe" on page 819 • ":SBUS:SPI:SOURce:MISO" on page 820 • ":SBUS:SPI:SOURce:MOSI" on page 821 • ":SBUS:SPI:TRIGger:PATTern:DATA" on page 822 • ":SBUS:SPI:TRIGger:PATTern:WIDTh" on page
Serial Bus Commands 28 :SBUS:SPI:BITorder Command :SBUS:SPI:BITorder ::= {LSB | MSB} The :SBUS: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. Query An integer, 1- 4. :SBUS:SPI:BITorder? The :SBUS:SPI:BITorder? query returns the current SPI decode bit order.
28 Serial Bus Commands :SBUS:SPI:CLOCk:SLOPe Command :SBUS:SPI:CLOCk:SLOPe ::= {POSitive | RISing | NEGative | FALLing} The :SBUS:SPI:CLOCk:SLOPe command specifies the rising edge (POSitive) or falling edge (NEGative) of the SPI clock source that will clock in the data. Query An integer, 1- 4. :SBUS:SPI:CLOCk:SLOPe? The :SBUS:SPI:CLOCk:SLOPe? query returns the current SPI clock source slope.
Serial Bus Commands 28 :SBUS:SPI:CLOCk:TIMeout Command :SBUS:SPI:CLOCk:TIMeout ::= time in seconds in NR3 format The :SBUS:SPI:CLOCk:TIMeout command sets the SPI signal clock timeout resource in seconds from 100 ns to 10 s when the :SBUS:SPI:FRAMing command is set to TIMeout. The timer is used to frame a signal by a clock timeout. Query An integer, 1- 4.
28 Serial Bus Commands :SBUS:SPI:FRAMe:STATe Command :SBUS:SPI:FRAMe:STATe ::= {LOW | HIGH} The :SBUS:SPI:FRAMe:STATe command sets the SPI trigger frame state. Query An integer, 1- 4. :SBUS:SPI:FRAMe:STATe? The :SBUS:SPI:FRAMe:STATe? query returns the current SPI frame state.
Serial Bus Commands 28 :SBUS:SPI:SOURce:CLOCk Command :SBUS:SPI:SOURce:CLOCk ::= {CHANnel | FUNCtion | WMEMory | DIGital} The :SBUS:SPI:SOURce:CLOCk command sets the source for the SPI serial clock. CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. FUNCtion is an integer, 1- 16. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes.
28 Serial Bus Commands :SBUS:SPI:SOURce:DATA Command :SBUS:SPI:SOURce:DATA ::= {CHANnel | FUNCtion | WMEMory | DIGital} The :SBUS:SPI:SOURce:DATA command sets the source for the SPI serial MOSI data. This command is the same as the :SBUS:SPI:SOURce:MOSI command. CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. FUNCtion is an integer, 1- 16. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes.
Serial Bus Commands 28 :SBUS:SPI:SOURce:FRAMe Command :SBUS:SPI:SOURce:FRAMe ::= {CHANnel | FUNCtion | WMEMory | DIGital} The :SBUS:SPI:SOURce:FRAMe command sets the frame source. CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. FUNCtion is an integer, 1- 16. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes.
28 Serial Bus Commands :SBUS:SPI:SOURce:MISO Command :SBUS:SPI:SOURce:MISO ::= {CHANnel | FUNCtion | WMEMory | DIGital} The :SBUS:SPI:SOURce:MISO command sets the source for the SPI serial MISO data. CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. FUNCtion is an integer, 1- 16. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes.
Serial Bus Commands 28 :SBUS:SPI:SOURce:MOSI Command :SBUS:SPI:SOURce:MOSI ::= {CHANnel | FUNCtion | WMEMory | DIGital} The :SBUS:SPI:SOURce:MOSI command sets the source for the SPI serial MOSI data. You can also use the equivalent :SBUS:SPI:SOURce:DATA command to set the MOSI data source. CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. FUNCtion is an integer, 1- 16. An integer, 0- 15.
28 Serial Bus Commands :SBUS:SPI:TRIGger:PATTern:DATA Command :SBUS:SPI:TRIGger:PATTern:DATA You must set :SBUS:MODE to SPI before you can send other :SBUS:SPI:TRIGger commands. NOTE The :SBUS:SPI:TRIGger:PATTern:DATA command defines the SPI data pattern resource according to the string parameter. This pattern, along with the data width, control the data pattern searched for in the data stream.
Serial Bus Commands 28 The :SBUS:SPI:TRIGger:PATTern:DATA? query returns the current settings of the specified SPI data pattern resource in the binary string format.
28 Serial Bus Commands :SBUS:SPI:TRIGger:PATTern:WIDTh Command :SBUS:SPI:TRIGger:PATTern:WIDTh {1 - 20} You must set :SBUS:MODE to SPI before you can send other :SBUS:SPI:TRIGger commands. NOTE The :SBUS:SPI:TRIGger:PATTern:WIDTh command sets the width of the SPI data pattern. You can specify the width in multiples of the SPI word size up to 20. The :SBUS:SPI:TRIGger:PATTern:WIDTh should be set before :SBUS:SPI:TRIGger:PATTern:DATA. NOTE Example An integer, 1- 4.
Serial Bus Commands 28 • ":SBUS:SPI:TRIGger:PATTern:DATA" on page 822 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 825
28 Serial Bus Commands :SBUS:SPI:TRIGger:TYPE Command :SBUS:SPI:TRIGger:TYPE ::= {MOSI | MISO} You must set :SBUS:MODE to SPI before you can send other :SBUS:SPI:TRIGger commands. NOTE The :SBUS:SPI:TRIGger:TYPE command specifies whether the SPI trigger will be on the MOSI data or the MISO data. The data value is specified by the :SBUS:SPI:TRIGger:PATTern:DATA and :SBUS:SPI:TRIGger:PATTern:WIDTh commands. Example An integer, 1- 4.
Serial Bus Commands 28 :SBUS:SPI:TYPE Command :SBUS:SPI:TYPE ::= {WIRE2 | WIRE3 | WIRE4} The :SBUS:SPI:TYPE command specifies whether the type of SPI to decode. Example An integer, 1- 4. To set the 3- wire SPI decode type: myScope.WriteString ":SBUS1:SPI:TYPE WIRE3" Query :SBUS:SPI:TYPE? The :SBUS:SPI:TYPE? query returns the decode type setting.
28 Serial Bus Commands :SBUS:SPI:WIDTh Command :SBUS:SPI:WIDTh ::= integer 4-16 in NR1 format The :SBUS:SPI:WIDTh command determines the number of bits in a word of data for SPI. Query An integer, 1- 4. :SBUS:SPI:WIDTh? The :SBUS:SPI:WIDTh? query returns the current SPI decode word width.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 29 Self-Test Commands :SELFtest:CANCel 830 :SELFtest:SCOPETEST 831 The SELFtest subsystem commands set up the self- test dialog and run the Infiniium- Series Oscilloscopes Self- Tests. NOTE Enclose File Name in Quotation Marks When specifying a file name, you must enclose it in quotation marks.
29 Self-Test Commands :SELFtest:CANCel Command :SELFtest:CANCel The :SELFtest:CANCel command stops the currently running selftest. Example This example stops the currently running selftest. myScope.
Self-Test Commands 29 :SELFtest:SCOPETEST Command :SELFtest:SCOPETEST The :SELFtest:SCOPETEST command brings up the self- test dialog in customer self- test mode (Service Extensions Off) and runs the test, "Scope Self Tests." Use the :SELFtest:SCOPETEST? query to determine the status of the test. Example This example brings up the self- test dialog and runs the oscilloscope self- tests. myScope.
29 Self-Test Commands 832 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:DISPlay 835 :SPRocessing:CTLequalizer:SOURce 836 :SPRocessing:CTLequalizer:DCGain 837 :SPRocessing:CTLequalizer:NUMPoles 838 :SPRocessing:CTLequalizer:P1 839 :SPRocessing:CTLequalizer:P2 840 :SPRocessing:CTLequalizer:P3 841 :SPRocessing:CTLequalizer:RATe 842 :SPRocessing:CTLequalizer:VERTical 843 :SPRocessing:CTLequalizer:VERTical:OFFSet 844 :SPRocessing:CTLequalizer:VERTical:RA
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:TAP:BANDwidth 869 :SPRocessing:FFEQualizer:TAP:BWMode 870 :SPRocessing:FFEQualizer:TAP:TDELay 871 :SPRocessing:FFEQualizer:TAP:TDMode 872 :SPRocessing:FFEQualizer:VERTical 873 :SPRocessing:FFEQualizer:VERTical:OFFSet 874 :SPRocessing:FFEQualizer:VERTical:RANGe 875 The N5461A Serial Data Equalization application is used to re- open partially or completely closed real- time eye diagrams.
Serial Data Equalization Commands 30 :SPRocessing:CTLequalizer:DISPlay Command :SPRocessing:CTLequalizer:DISPlay {(OFF | 0) | (ON | 1)} The :CTLequalizer:DISPlay command turns the display of a Continuous Time Linear Equalizer (CTLE) real- time eye diagram on or off. Turning CTLE on automatically turns FFE off (and vice versa). Example This example turns on the display of a CTLE real- time eye diagram. myScope.
30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:SOURce Command :SPRocessing:CTLequalizer:SOURce {CHANnel | FUNCtion | WMEMory} The :CTLequalizer:SOURce command sets the source for the Continuous Time Linear Equalization. CHANnel is an integer, 1- 4. WMEMory is an integer, 1- 4. Example FUNCtion is an integer, 1- 16. This example sets the CTLE source to Channel 1. myScope.
30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:DCGain Command :SPRocessing:CTLequalizer:DCGain The :CTLequalizer:DCGain command sets the DC Gain parameter for the Continuous Time Linear Equalization. Example A real number This example sets the CTLE DC Gain parameter to 1. myScope.WriteString ":SPRocessing:CTLequalizer:DCGain 1" Query :SPRocessing:CTLequalizer:DCGain? The :SPRocessing:CTLequalizer:DCGain? query returns the CTLE's DC Gain p arameter.
30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:NUMPoles Command :SPRocessing:CTLequalizer:NUMPoles {POLE2 | POLE3 | USB31} The :SPRocessing:CTLequalizer:NUMPoles command selects either a 2 Pole, 3 Pole, or USB 3.1 (Gen 2) Continuous Time Linear Equalizer (CTLE). Example This example selects a 2 Pole CTLE. myScope.
Serial Data Equalization Commands 30 :SPRocessing:CTLequalizer:P1 Command :SPRocessing:CTLequalizer:P1 The :CTLequalizer:P1 command sets the Pole 1 frequency for the Continuous Time Linear Equalization. Example A real number This example sets the CTLE Pole 1 frequency to 1GHz. myScope.WriteString ":SPRocessing:CTLequalizer:P1 1e9" Query :SPRocessing:CTLequalizer:P1? The :SPRocessing:CTLequalizer:P1? query returns the CTLE's Pole 1 freque ncy.
30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:P2 Command :SPRocessing:CTLequalizer:P2 The :CTLequalizer:P1 command sets the Pole 2 frequency for the Continuous Time Linear Equalization. Example A real number This example sets the CTLE Pole 2 frequency to 4 GHz. myScope.WriteString ":SPRocessing:CTLequalizer:P2 4e9" Query :SPRocessing:CTLequalizer:P2? The :SPRocessing:CTLequalizer:P2? query returns the CTLE's Pole 2 freque ncy.
Serial Data Equalization Commands 30 :SPRocessing:CTLequalizer:P3 Command :SPRocessing:CTLequalizer:P3 The :CTLequalizer:P1 command sets the Pole 3 frequency for the Continuous Time Linear Equalization. Example A real number This example sets the CTLE Pole 3 frequency to 4 GHz. myScope.WriteString ":SPRocessing:CTLequalizer:P3 4e9" Query :SPRocessing:CTLequalizer:P3? The :SPRocessing:CTLequalizer:P3? query returns the CTLE's Pole 3 freque ncy.
30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:RATe Command :SPRocessing:CTLequalizer:RATe The :CTLequalizer:RATe command sets the data rate for the CTLE equalizer. Example A real number This example sets the CTLE data rate to 3e9. myScope.WriteString ":SPRocessing:CTLequalizer:RATe 3e9" Query :SPRocessing:CTLequalizer:RATe? The :SPRocessing:CTLequalizer:Rate? query returns the CTLE's data rate.
Serial Data Equalization Commands 30 :SPRocessing:CTLequalizer:VERTical Command :SPRocessing:CTLequalizer:VERTical {AUTO | MANual} The :SPRocessing:CTLequalizer:VERTical command sets the CTLE signal'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 CTLE signal's vertical scale mode to automatic. myScope.
30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:VERTical:OFFSet Command :SPRocessing:CTLequalizer:VERTical:OFFSet The :SPRocessing:CTLequalizer:VERTical:OFFSet command sets the CTLE signal's vertical offset. A real number for the CTLE signal's vertical offset. Example This example sets the CTLE signal's vertical offset to 1 volt. myScope.
30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:VERTical:RANGe Command :SPRocessing:CTLequalizer:VERTical:RANGe The :SPRocessing:CTLequalizer:VERTical:RANGe command sets the CTLE signal's vertical range. A real number for the full- scale CTLE signal's vertical range. Example This example sets the CTLE signal's vertical range to 16 volts (2 volts times 8 divisions.) myScope.
30 Serial Data Equalization Commands :SPRocessing:CTLequalizer:ZERo Command :SPRocessing:CTLequalizer:ZERo The :CTLequalizer:ZERo command sets the zero frequency for the Continuous Time Linear Equalization. Example A real number This example sets the CTLE zero frequency to 900 MHz. myScope.WriteString ":SPRocessing:CTLequalizer:ZERo 9e6" Query :SPRocessing:CTLequalizer:ZERo? The :SPRocessing:CTLequalizer:ZERo? query returns the CTLE's zero freque ncy.
Serial Data Equalization Commands 30 :SPRocessing:DFEQualizer:STATe Command :SPRocessing:DFEQualizer:STATe {(OFF | 0) | (ON | 1)} The :DFEQualizer:STATe command turns the Decision Feedback Equalization on or off. Example This example turns on DFE. myScope.WriteString ":SPRocessing:DFEQualizer:STATe ON" Query :SPRocessing:DFEQualizer:STATe? The :SPRocessing:DFEQualizer:STATe? query returns whether or not DFE is turned on.
30 Serial Data Equalization Commands :SPRocessing:DFEQualizer:SOURce Command :SPRocessing:DFEQualizer:SOURce {CHANnel | COMMonmode | DIFFerential
| FUNCtion | WMEMory | 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.
30 Serial Data Equalization Commands :SPRocessing:DFEQualizer:NTAPs Command :SPRocessing:DFEQualizer:NTAPs 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. Example An integer between 2 and 40 This example sets the number of DFE taps to 3. myScope.
30 Serial Data Equalization Commands :SPRocessing:DFEQualizer:TAP Command :SPRocessing:DFEQualizer:TAP , The :DFEQualizer:TAP command sets the tap value for each DFE tap. For example, when is equal to 0 then the 0th tap is set to . DFE tap indices always start at 1 and extend to the number of taps. The tap number; when == 0, Tap 1 is set The tap value Example This example sets the DFE Tap 1 to - 1.432. myScope.
Serial Data Equalization Commands 30 :SPRocessing:DFEQualizer:TAP:WIDTh Command :SPRocessing:DFEQualizer:TAP: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.
30 Serial Data Equalization Commands :SPRocessing:DFEQualizer:TAP:DELay Command :SPRocessing:DFEQualizer:TAP:DELay The :DFEQualizer:TAP:DELay command specifies the amount of drift the equalized eye diagram has relative to the unequalized one. This drift is then accounted for so the two eyes overlap. For more information on this parameter, refer to the N5461A Infiniium Serial Data Equalization User's Guide.
Serial Data Equalization Commands 30 :SPRocessing:DFEQualizer:TAP:MAX Command :SPRocessing:DFEQualizer:TAP:MAX 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. Example A real number This example sets the Upper Limit field to 3.23. myScope.WriteString ":SPRocessing:DFEQualizer:TAP:MAX 3.
30 Serial Data Equalization Commands :SPRocessing:DFEQualizer:TAP:MIN Command :SPRocessing:DFEQualizer:TAP:MIN 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. Example A real number This example sets the Lower Limit field to 3.23. myScope.WriteString ":SPRocessing:DFEQualizer:TAP:MIN 3.
Serial Data Equalization Commands 30 :SPRocessing:DFEQualizer:TAP:GAIN Command :SPRocessing:DFEQualizer:TAP: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.
30 Serial Data Equalization Commands :SPRocessing:DFEQualizer:TAP:UTARget Command :SPRocessing:DFEQualizer:TAP:UTARget 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. Example A real number This example sets the Upper Target to 1.0. myScope.
Serial Data Equalization Commands 30 :SPRocessing:DFEQualizer:TAP:LTARget Command :SPRocessing:DFEQualizer:TAP:LTARget 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. Example A real number This example sets the Lower Target to 1.0. myScope.
30 Serial Data Equalization Commands :SPRocessing:DFEQualizer:TAP:AUTomatic Command :SPRocessing:DFEQualizer:TAP:AUTomatic The :DFEQualizer:TAP:AUTomatic command starts the DFE tap optimization. Be sure to first specify the number of taps and the max/min tap values. Example This example starts the DFE tap optimization. myScope.
Serial Data Equalization Commands 30 :SPRocessing:FFEQualizer:DISPlay Command :SPRocessing:FFEQualizer:DISPlay {(OFF | 0) | (ON | 1)} The :FFEQualizer:DISPlay command turns the display of a Feed- Forward Equalized (FFE) real- time eye diagram on or off. Example This example turns on the display of a FFE real- time eye diagram. myScope.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:SOURce Command :SPRocessing:FFEQualizer:SOURce {CHANnel | COMMonmode | DIFFerential
| FUNCtion | WMEMory} The :FFEQualizer:SOURce command sets the source for the Feed- Forward Equalization. The COMMonmode and DIFFerential sources are just aliases that can be used in place of the channel names to apply to differential or common mode signals.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:NPRecursor Command :SPRocessing:FFEQualizer:NPRecursor The :FFEQualizer:NPRecursor command sets the number of precursor taps to be used in the FFE algorithm. Example An integer between 1 and (NTAPs - 1) This example sets the number of FFE precursor taps to 3. myScope.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:NTAPs Command :SPRocessing:FFEQualizer:NTAPs 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).
30 Serial Data Equalization Commands :SPRocessing:FFEequalizer:RATe Command :SPRocessing:FFEequalizer:RATe The :FFEequalizer:RATe command sets the data rate for the FFE equalizer. Example A real number This example sets the FFE data rate to 3e9. myScope.WriteString ":SPRocessing:FFEequalizer:RATe 3e9" Query :SPRocessing:FFEequalizer:RATe? The :SPRocessing:FFEequalizer:Rate? query returns the FFE's data rate.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:TAP Command :SPRocessing:FFEQualizer:TAP , The :FFEQualizer:TAP command sets the tap value for each FFE tap. For example, when is equal to 0 then the 0th tap is set to . 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).
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:TAP:PLENgth Command :SPRocessing:FFEQualizer:TAP:PLENgth {CUSTom | PRBS51 | PRBS61 | PRBS71 | PRBS81 | PRBS91 | PRBS101}, In order for the tap optimization to work, the algorithm must know the input pattern. You can train the oscilloscope to a known pattern and then use the optimized taps on your live traffic. The :FFEQualizer:TAP:PLENgth command sets the pattern for the FFE tap optimization algorithm.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:TAP:WIDTh Command :SPRocessing:FFEQualizer:TAP: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.
Serial Data Equalization Commands 30 :SPRocessing:FFEQualizer:TAP:DELay Command :SPRocessing:FFEQualizer:TAP:DELay The :FFEQualizer:TAP:DELay command specifies the amount of drift the equalized eye diagram has relative to the unequalized one. This drift is then accounted for so the two eyes overlap. For more information on this parameter, refer to the N5461A Infiniium Serial Data Equalization User's Guide.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:TAP:AUTomatic Command :SPRocessing:FFEQualizer:TAP:AUTomatic The :FFEQualizer:TAP:AUTomatic command starts the FFE tap optimization. Be sure to first specify the number of taps and specify the Pattern and Eye Width parameters. Example This example starts the FFE tap optimization. myScope.
Serial Data Equalization Commands 30 :SPRocessing:FFEQualizer:TAP:BANDwidth Command :SPRocessing:FFEQualizer:TAP:BANDwidth The :FFEQualizer:TAP:BANDwidth command is only needed if the FFEQualizer:TAP:BWMode command is set to CUSTom and in this case it sets the bandwidth at which the response generated by equalization rolls off. To understand more about this parameter, consult the N5461A Infiniium Serial Data Equalization User's Guide.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:TAP:BWMode Command :SPRocessing:FFEQualizer:TAP:BWMode {TSBandwidth | TTDelay | CUSTom} The :FFEQualizer:TAP:BWMode command sets the bandwidth at which the response generated by equalization is rolled off. To understand more about this parameter, consult the N5461A Infiniium Serial Data Equalization User's Guide. Example This example sets the FFE Bandwidth Mode to TTDELay. myScope.
Serial Data Equalization Commands 30 :SPRocessing:FFEQualizer:TAP:TDELay Command :SPRocessing:FFEQualizer:TAP:TDELay The :FFEQualizer:TAP:TDELay command is only needed if the FFEQualizer:TAP:TDMode is set to CUSTom. To determine what this value should be, use the equation: tap delay = 1/[(data rate)x(# of taps per bit)]. To understand more about this parameter, consult the N5461A Infiniium Serial Data Equalization User's Guide.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:TAP:TDMode Command :SPRocessing:FFEQualizer:TAP:TDMode {TBITrate | CUSTom} The :FFEQualizer:TAP: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:TAP:TDELay command to set the value.
Serial Data Equalization Commands 30 :SPRocessing:FFEQualizer:VERTical Command :SPRocessing:FFEQualizer:VERTical {AUTO | MANual} The :SPRocessing:FFEQualizer:VERTical command sets the FFE signal'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 FFEE signal's vertical scale mode to automatic. myScope.
30 Serial Data Equalization Commands :SPRocessing:FFEQualizer:VERTical:OFFSet Command :SPRocessing:FFEQualizer:VERTical:OFFSet The :SPRocessing:FFEQualizer:VERTical:OFFSet command sets the FFE signal's vertical offset. A real number for the FFE signal's vertical offset. Example This example sets the FFE signal's vertical offset to 1 volt. myScope.
Serial Data Equalization Commands 30 :SPRocessing:FFEQualizer:VERTical:RANGe Command :SPRocessing:FFEQualizer:VERTical:RANGe The :SPRocessing:FFEQualizer:VERTical:RANGe command sets the FFE signal's vertical range. A real number for the full- scale FFE signal's vertical range. Example This example sets the FFE signal's vertical range to 16 volts (2 volts times 8 divisions.) myScope.
30 Serial Data Equalization Commands 876 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 31 System Commands :SYSTem:DATE 878 :SYSTem:DEBug 879 :SYSTem:DSP 881 :SYSTem:ERRor? 882 :SYSTem:HEADer 883 :SYSTem:LOCK 884 :SYSTem:LONGform 885 :SYSTem:PRESet 886 :SYSTem:SETup 887 :SYSTem:TIME 889 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.
31 System Commands :SYSTem:DATE Command :SYSTem:DATE ,, The :SYSTem:DATE command sets the date in the oscilloscope, and is not affected by the *RST common command. Example Specifies the year in the format | . The values range from 1992 to 2035. Specifies the month in the format <1, 2, . . . 12> | . Specifies the day in the format <1 . . . 31>. This example sets the date to December 1, 2002. myScope.
System Commands 31 :SYSTem:DEBug Command :SYSTem:DEBug {{ON|1}[,[,"" [,]]] | {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.
31 System Commands myScope.WriteString ":SYSTEM:DEBUG ON,FILE, ""C:\Document and Settings\All Users\Shared Documents\Infiniium\Data\ pacq8xx.txt"",APPEND" After appending information, the file resembles: Debug information file C:\Document and Settings\All Users\ Shared Documents\Infiniium\Data\pacq8xx.
31 System Commands :SYSTem:DSP Command :SYSTem:DSP "" The :SYSTem:DSP command writes a quoted string, excluding quotation marks, to the advisory line of the instrument display. If you want to clear a message on the advisory line, send a null (empty) string. Example An alphanumeric character array up to 86 bytes long. This example writes the message, "Test 1" to the advisory line of the oscilloscope. myScope.
31 System Commands :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 26 lists the error numbers and their corresponding error messages.
System Commands 31 :SYSTem:HEADer Command :SYSTem:HEADer {{ON|1} | {OFF|0}} The :SYSTem:HEADer command specifies whether the instrument will output a header for query responses. When :SYSTem:HEADer is set to ON, the query responses include the command header. Example This example sets up the oscilloscope to output command headers with query responses. myScope.WriteString ":SYSTEM:HEADER ON" Query :SYSTem:HEADer? The :SYSTem:HEADer? query returns the state of the :SYSTem:HEADer command.
31 System Commands :SYSTem:LOCK Command :SYSTem:LOCK {{ON | 1} | {OFF | 0}} The :SYSTem:LOCK ON command disables the front panel. The front panel can be re- enabled by sending the :SYSTem:LOCK OFF command or by using the mouse to click on the Minimize button in the upper right- hand corner of the oscilloscope screen. Example This example disables the oscilloscope's front panel. myScope.
31 System Commands :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.
31 System Commands :SYSTem:PRESet Command :SYSTem:PRESet [ {DEFault|FACtory} ] The :SYSTem:PRESet command performs a Default Setup just like the oscilloscope's Default Setup key. Using this command 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. The parameters are optional.
System Commands 31 :SYSTem:SETup Command :SYSTem:SETup The :SYSTem:SETup command sets up the oscilloscope as defined by the data in the binary block of data from the computer. 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.
31 System Commands ' Get setup from the oscilloscope. Dim varSeup As Variant myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off. myScope.WriteString ":SYSTem:SETup?" varSetup = myScope.ReadIEEEBlock(BinaryType_UI1) ' Output setup string to a file: Dim strPath As String strPath = "c:\scope\config\setup.dat" Dim hFile As Long hFile = FreeFile Open strPath For Binary Access Write Lock Write As hFile Put hFile, , varSetup ' Write data. Close hFile ' Close file. Debug.
System Commands 31 :SYSTem:TIME Command :SYSTem:TIME ,, The :SYSTem:TIME command sets the time in the oscilloscope and is not affected by the *RST common command. 0...23 0...59 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? The :SYSTem:TIME? query returns the current time in the oscilloscope.
31 System Commands 890 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 32 Time Base Commands :TIMebase:POSition 892 :TIMebase:RANGe 893 :TIMebase:REFClock 894 :TIMebase:REFerence 895 :TIMebase:ROLL:ENABLE 896 :TIMebase:SCALe 897 :TIMebase:VIEW 898 :TIMebase:WINDow:DELay 899 :TIMebase:WINDow:POSition 900 :TIMebase:WINDow:RANGe 901 :TIMebase:WINDow:SCALe 902 The TIMebase subsystem commands control the horizontal (X axis) oscilloscope functions.
32 Time Base Commands :TIMebase:POSition Command :TIMebase:POSition 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. Example A real number for the time in seconds from trigger to the delay reference point. This example sets the delay position to 2 ms. myScope.
Time Base Commands 32 :TIMebase:RANGe Command :TIMebase:RANGe The :TIMebase:RANGe command sets the full- scale horizontal time in seconds. The range value is ten times the time- per- division value. Example A real number for the horizontal time, in seconds. The timebase range is 50 ps (5 ps/div) to 200 s (20 s/div). This example sets the full- scale horizontal range to 10 ms. myScope.
32 Time Base Commands :TIMebase:REFClock Command :TIMebase:REFClock {{ON | 1} | {OFF | 0}} The :TIMebase:REFClock command enables or disables the 10 MHz REF IN BNC input located on the rear panel of the oscilloscope. The 10 MHz reference input is used as a reference clock for the oscilloscope for the horizontal scale section instead of the internal 10 MHz reference when this feature is enabled. Example This example turns on the 10 MHz reference mode. myScope.
Time Base Commands 32 :TIMebase:REFerence Command :TIMebase:REFerence {LEFT | CENTer | RIGHt} The :TIMebase:REFerence command sets the delay reference to the left, center, or right side of the display. Example This example sets the delay reference to the center of the display. myScope.WriteString ":TIMEBASE:REFERENCE CENTER" Query :TIMebase:REFerence? The :TIMebase:REFerence? query returns the current delay reference position.
32 Time Base Commands :TIMebase:ROLL:ENABLE Command :TIMebase:ROLL:ENABLE {{ON | 1} | {OFF | 0}} The :TIMebase:ROLL:ENABLE command enables or disables the roll mode feature. Example This example tuns on the roll mode. myScope.WriteString ":TIMEBASE:ROLL:ENABLE ON" Query :TIMebase:ROLL:ENABLE? The :TIMebase:ROLL:ENABLE? query returns the current state of the roll mode enable control.
Time Base Commands 32 :TIMebase:SCALe Command :TIMebase:SCALe The :TIMebase:SCALe command sets the time base scale. This corresponds to the horizontal scale value displayed as time/div on the oscilloscope screen. 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.
32 Time Base Commands :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? The :TIMebase:VIEW? query returns the horizontal zoom mode setting.
Time Base Commands 32 :TIMebase:WINDow:DELay Command :TIMebase:WINDow:DELay The :TIMebase:WINDow:DELay sets the horizontal position in the delayed view of the main sweep. The range for this command is determined by the main sweep range and the main sweep horizontal position. The value for this command must keep the time base window within the main sweep range.
32 Time Base Commands :TIMebase:WINDow:POSition Command :TIMebase:WINDow:POSition The :TIMebase:WINDow:POSition sets the horizontal position in the delayed view of the main sweep. The range for this command is determined by the main sweep range and the main sweep horizontal position. The value for this command must keep the time base window within the main sweep range. Example A real number for the time in seconds from the trigger event to the delay reference point.
Time Base Commands 32 :TIMebase:WINDow:RANGe Command :TIMebase:WINDow:RANGe The :TIMebase:WINDow:RANGe command sets the full- scale range of the delayed view. The range value is ten times the time per division of the delayed view. The maximum range of the delayed view is the current main range. The minimum delayed view range is 10 ps (1 ps/div). Example A real number for the full- scale range of the time base window, in seconds.
32 Time Base Commands :TIMebase:WINDow:SCALe Command :TIMebase:WINDow:SCALe The :TIMebase:WINDow:SCALe command sets the time/div in the delayed view. This command rescales the horizontal components of displayed waveforms. A real number for the delayed windows scale. Example This example sets the scale of the time base window to 2 milliseconds/div. myScope.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 33 Trigger Commands General Trigger Commands 905 Comm Trigger Commands 919 Delay Trigger Commands 925 Edge Trigger Commands 935 Glitch Trigger Commands 939 Pattern Trigger Commands 943 Pulse Width Trigger Commands 946 Runt Trigger Commands 952 Setup and Hold Trigger Commands 957 State Trigger Commands 964 Timeout Trigger Commands 969 Transition Trigger Commands 973 TV Trigger Commands 978 Window Trigger Commands 989 Advanced Comm Trigger Co
33 Trigger Commands 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.
Trigger Commands 33 General Trigger Commands • ":TRIGger:AND:ENABle" on page 906 • ":TRIGger:AND:SOURce" on page 907 • ":TRIGger:HOLDoff" on page 908 • ":TRIGger:HOLDoff:MAX" on page 909 • ":TRIGger:HOLDoff:MIN" on page 910 • ":TRIGger:HOLDoff:MODE" on page 911 • ":TRIGger:HTHReshold" on page 912 • ":TRIGger:HYSTeresis" on page 913 • ":TRIGger:LEVel" on page 914 • ":TRIGger:LTHReshold" on page 915 • ":TRIGger:MODE" on page 916 • ":TRIGger:SWEep" on page 918 Agilent Infiniium 9000 Series Oscilloscopes Pro
33 Trigger Commands :TRIGger:AND:ENABle Command :TRIGger:AND:ENABle {{ON | 1} | {OFF | 0}} The :TRIGger:AND:ENABle command enables the ability to further qualify the trigger using other channels. Query :TRIGger:AND:ENABle? The query returns the current state of the AND qualifier.
Trigger Commands 33 :TRIGger:AND:SOURce Command :TRIGger:AND:SOURce CHANnel,{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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:HOLDoff Command :TRIGger:HOLDoff The :TRIGger:HOLDoff command specifies the amount of time the oscilloscope should wait after receiving a trigger before enabling the trigger again. Query A real number for the holdoff time, ranging from 50 ns to 10 s. :TRIGger:HOLDoff? The query returns the current holdoff value for the current mode.
Trigger Commands 33 :TRIGger:HOLDoff:MAX Command :TRIGger:HOLDoff:MAX 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.
33 Trigger Commands :TRIGger:HOLDoff:MIN Command :TRIGger:HOLDoff:MIN 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.
Trigger Commands 33 :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.
33 Trigger Commands :TRIGger:HTHReshold Command :TRIGger:HTHReshold{{CHANnel | AUXiliary},} 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. Query An integer, 1- 4. A real number for the voltage level for the trigger source.
33 Trigger Commands :TRIGger:HYSTeresis Command :TRIGger:HYSTeresis {NORMal|NREJect} The :TRIGger:HYSTeresis command specifies the trigger hysteresis (noise reject) as either normal or maximum. The NORMal option is the typical hysteresis selection. The NREJect (noise reject) option gives maximum hysteresis but the lowest trigger bandwidth. Query :TRIGger:HYSTeresis? The query returns the current hysteresis setting.
33 Trigger Commands :TRIGger:LEVel Command :TRIGger:LEVel {CHANnel|AUX},} 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 dialogs (Edge, Glitch, and Advanced). This level also applies to all the High Threshold (HTHReshold) values in the Advanced Violation menus. Query An integer, 1- 4.
Trigger Commands 33 :TRIGger:LTHReshold Command :TRIGger:LTHReshold {CHANnel}, 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. Query An integer, 1- 4. A real number for the voltage level for the trigger source.
33 Trigger Commands :TRIGger:MODE Command :TRIGger:MODE {EDGE | GLITch | PATTern | STATe | DELay | TIMeout | TV | COMM | RUNT | SHOLd | TRANsition | WINDow | PWIDth | ADVanced | SBUS} The :TRIGger:MODE command selects the trigger mode. Table 22 Trigger Mode Settings 916 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.
33 Trigger Commands Table 22 Trigger Mode Settings (continued) Query 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. COMM COMM mode lets you trigger on a serial pattern of bits in a waveform.
33 Trigger Commands :TRIGger:SWEep Command :TRIGger:SWEep {AUTO | TRIGgered | SINGle} The :TRIGger:SWEep command selects the oscilloscope sweep mode. When you select AUTO, if a trigger event does not occur within a time determined by the oscilloscope settings, the oscilloscope automatically forces a trigger which causes the oscilloscope to sweep.
Trigger Commands 33 Comm Trigger Commands • ":TRIGger:COMM:BWIDth" on page 920 • ":TRIGger:COMM:ENCode" on page 921 • ":TRIGger:COMM:PATTern" on page 922 • ":TRIGger:COMM:POLarity" on page 923 • ":TRIGger:COMM:SOURce" on page 924 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 919
33 Trigger Commands :TRIGger:COMM:BWIDth Command :TRIGger:COMM:BWIDth 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. Query A real number that represents the width of a bit. :TRIGger:COMM:BWIDth? The query returns the current bit width.
Trigger Commands 33 :TRIGger:COMM:ENCode Command :TRIGger:COMM:ENCode {RZ | NRZ} This :TRIGger:COMM:ENCode command sets the type of waveform encoding for your waveform. You should use NRZ for CMI type waveforms and RZ for all other type of waveforms.
33 Trigger Commands :TRIGger:COMM:PATTern Command :TRIGger:COMM:PATTern [,
Trigger Commands 33 :TRIGger:COMM:POLarity Command :TRIGger:COMM:POLarity {POSitive | NEGative} The :TRIGger:COMM:POLarity command directly controls the trigger slope used for communication trigger. When set to a positive value, the rising edge of a pulse or waveform is used to trigger the oscilloscope. When set to a negative value, the falling edge of a pulse or waveform is used. The polarity setting is also used to check for valid patterns.
33 Trigger Commands :TRIGger:COMM:SOURce Command :TRIGger:COMM:SOURce CHANnel The :TRIGger:COMM:SOURce command selects the channel used for the communication trigger. Query An integer, 1- 4. :TRIGger:COMM:SOURce? The :TRIGger:COMM:SOURce? query returns the currently selected communication trigger source.
Trigger Commands 33 Delay Trigger Commands • ":TRIGger:DELay:ARM:SOURce" on page 926 • ":TRIGger:DELay:ARM:SLOPe" on page 927 • ":TRIGger:DELay:EDELay:COUNt" on page 928 • ":TRIGger:DELay:EDELay:SOURce" on page 929 • ":TRIGger:DELay:EDELay:SLOPe" on page 930 • ":TRIGger:DELay:MODE" on page 931 • ":TRIGger:DELay:TDELay:TIME" on page 932 • ":TRIGger:DELay:TRIGger:SOURce" on page 933 • ":TRIGger:DELay:TRIGger:SLOPe" on page 934 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 925
33 Trigger Commands :TRIGger:DELay:ARM:SOURce Command :TRIGger:DELay:ARM:SOURce {CHANnel | DIGital} This command sets the Arm On source for arming the trigger circuitry when the oscilloscope is in the Delay trigger mode. An integer, 1- 4. 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.
Trigger Commands 33 :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.
33 Trigger Commands :TRIGger:DELay:EDELay:COUNt Command :TRIGger:DELay:EDELay:COUNt This command sets the event count for a Delay By Event trigger event. Query An integer from 0 to 16,000,000 specifying the number of edges to delay. :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.
Trigger Commands 33 :TRIGger:DELay:EDELay:SOURce Command :TRIGger:DELay:EDELay:SOURce {CHANnel | DIGital} This command sets the Event source for a Delay By Event trigger event. An integer, 1- 4. 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.
33 Trigger Commands :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.
Trigger Commands 33 :TRIGger:DELay:MODE Command :TRIGger:DELay:MODE {EDELay | TDELay} The :TRIGger:DELay:MODE command selects the type of delay trigger mode to either events or to time. Query :TRIGger:DELay:MODE? The query returns the currently selected delay trigger mode.
33 Trigger Commands :TRIGger:DELay:TDELay:TIME Command :TRIGger:DELay:TDELay:TIME This command sets the delay for a Delay By Time trigger event. Query Time, in seconds, set for the delay trigger, from 10 ns to 10 s. :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.
Trigger Commands 33 :TRIGger:DELay:TRIGger:SOURce Command :TRIGger:DELay:TRIGger:SOURce {CHANnel | DIGital} This command sets the Trigger On source for a Delay trigger event. An integer, 1- 4. 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.
33 Trigger Commands :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.
Trigger Commands 33 Edge Trigger Commands • ":TRIGger:EDGE:COUPling" on page 936 • ":TRIGger:EDGE:SLOPe" on page 937 • ":TRIGger:EDGE:SOURce" on page 938 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 935
33 Trigger Commands :TRIGger:EDGE:COUPling Command :TRIGger:EDGE:COUPling {AC | DC | LFReject | HFReject} The :TRIGger:EDGE:COUPling command sets the trigger coupling when :TRIG:EDGE:SOURce is set to one of the channels. Query :TRIGger:EDGE:COUPling? The query returns the currently selected coupling for the specified edge trigger source.
33 Trigger Commands :TRIGger:EDGE:SLOPe Command :TRIGger:EDGE:SLOPe {POSitive | NEGative | EITHer} The :TRIGger:EDGE:SLOPe command sets the slope of the trigger source previously selected by the :TRIGger:EDGE:SOURce command. The LINE source has no slope. Query :TRIGger:EDGE:SLOPe? The query returns the currently selected slope for the specified edge trigger source.
33 Trigger Commands :TRIGger:EDGE:SOURce Command :TRIGger:EDGE:SOURce {CHANnel | DIGital | AUX | LINE } The :TRIGger:EDGE:SOURce command selects the source for edge mode triggering. This is the source that will be used for subsequent :TRIGger:EDGE:SLOPe commands or queries. An integer, 1- 4, for all other Infiniium Oscilloscope models. An integer, 0- 15. The digital channels are only available on the MSO oscilloscopes or DSO models with the MSO license installed.
Trigger Commands 33 Glitch Trigger Commands • ":TRIGger:GLITch:POLarity" on page 940 • ":TRIGger:GLITch:SOURce" on page 941 • ":TRIGger:GLITch:WIDTh" on page 942 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 939
33 Trigger Commands :TRIGger:GLITch:POLarity Command :TRIGger:GLITch: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. Query :TRIGger:GLITch:POLarity? The query returns the currently selected glitch polarity.
Trigger Commands 33 :TRIGger:GLITch:SOURce Command :TRIGger:GLITch:SOURce {CHANnel | DIGital} This command sets the source for the glitch trigger mode. An integer, 1- 4. 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.
33 Trigger Commands :TRIGger:GLITch:WIDTh Command :TRIGger:GLITch:WIDTh This command sets the glitch width. The oscilloscope will trigger on a pulse that has a width less than the specified width. Query A real number for the glitch width, ranging from 1.5 ns to 10 s. :TRIGger:GLITch:WIDTh? The query returns the currently specified glitch width.
Trigger Commands 33 Pattern Trigger Commands • ":TRIGger:PATTern:CONDition" on page 944 • ":TRIGger:PATTern:LOGic" on page 945 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 943
33 Trigger Commands :TRIGger:PATTern:CONDition Command :TRIGger:PATTern:CONDition {ENTered | EXITed | {GT,[,PEXits|TIMeout]} | {LT,} | {RANGe,,}} This command describes the condition applied to the trigger pattern to actually generate a trigger. The minimum time (greater than time) for the trigger pattern, from 10 ns to 9.999 s. The maximum time (less than time) for the trigger pattern, from 10.5 ps to 10 s.
Trigger Commands 33 :TRIGger:PATTern:LOGic Command :TRIGger:PATTern:LOGic {CHANnel | DIGital}, {HIGH | LOW | DONTcare | RISing | FALLing} This command defines the logic criteria for a selected channel. An integer, 1- 4. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes. Query :TRIGger:PATTern:LOGic? {CHANnel | DIGital} The query returns the current logic criteria for a selected channel.
33 Trigger Commands Pulse Width Trigger Commands • ":TRIGger:PWIDth:DIRection" on page 947 • ":TRIGger:PWIDth:POLarity" on page 948 • ":TRIGger:PWIDth:SOURce" on page 949 • ":TRIGger:PWIDth:TPOint" on page 950 • ":TRIGger:PWIDth:WIDTh" on page 951 946 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Trigger Commands 33 :TRIGger:PWIDth:DIRection Command :TRIGger: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:PWIDth:DIRection? The query returns the currently defined direction for the pulse width trigger.
33 Trigger Commands :TRIGger:PWIDth:POLarity Command :TRIGger: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.
Trigger Commands 33 :TRIGger:PWIDth:SOURce Command :TRIGger:PWIDth:SOURce {CHANnel | DIGital} This command specifies the channel source used to trigger the oscilloscope with the pulse width trigger. An integer, 1- 4. 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.
33 Trigger Commands :TRIGger:PWIDth:TPOint Command :TRIGger:PWIDth: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 only available if the pulse direction is set to GTHan. Query :TRIGger:PWIDth:TPOint? The query returns the currently defined trigger on point for the pulse width trigger.
Trigger Commands 33 :TRIGger:PWIDth:WIDTh Command :TRIGger:PWIDth:WIDTh This command specifies how wide a pulse must be to trigger the oscilloscope. Query Pulse width, which can range from 250 ps to 10 s. :TRIGger:PWIDth:WIDTh? The query returns the currently defined width for the pulse.
33 Trigger Commands Runt Trigger Commands • ":TRIGger:RUNT:POLarity" on page 953 • ":TRIGger:RUNT:QUALified" on page 954 • ":TRIGger:RUNT:SOURce" on page 955 • ":TRIGger:RUNT:TIME" on page 956 952 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Trigger Commands 33 :TRIGger:RUNT:POLarity Command :TRIGger:RUNT: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. Query :TRIGger:RUNT:POLarity? The query returns the currently selected runt pulse polarity.
33 Trigger Commands :TRIGger:RUNT:QUALified Command :TRIGger:RUNT: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. Query :TRIGger:RUNT:QUALified? The query returns the current state of the time qualified runt pulse feature.
Trigger Commands 33 :TRIGger:RUNT:SOURce Command :TRIGger:RUNT:SOURce CHANnel This command sets the source for the runt trigger mode. Query An integer, 1- 4. :TRIGger:RUNT:SOURce? The query returns the currently selected source for the runt trigger mode.
33 Trigger Commands :TRIGger:RUNT:TIME Command :TRIGger:RUNT:TIME This command sets the time qualifier. The oscilloscope will trigger on a runt pulse that has a width greater than the specified time. Query A real number for the time greater than qualifier, ranging from 250 ps to 30 ns. :TRIGger:RUNT:TIME? The query returns the currently specified glitch width.
Trigger Commands 33 Setup and Hold Trigger Commands • ":TRIGger:SHOLd:CSOurce" on page 958 • ":TRIGger:SHOLd:CSOurce:EDGE" on page 959 • ":TRIGger:SHOLd:DSOurce" on page 960 • ":TRIGger:SHOLd:HoldTIMe (HTIMe)" on page 961 • ":TRIGger:SHOLd:MODE" on page 962 • ":TRIGger:SHOLd:SetupTIMe" on page 963 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 957
33 Trigger Commands :TRIGger:SHOLd:CSOurce Command :TRIGger:SHOLd:CSOurce CHANnel 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. Query An integer, 1- 4. :TRIGger:SHOLd:CSOurce? The query returns the currently defined clock source for the trigger setup and hold violation.
Trigger Commands 33 :TRIGger:SHOLd:CSOurce:EDGE Command :TRIGger: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.
33 Trigger Commands :TRIGger:SHOLd:DSOurce Command :TRIGger:SHOLd:DSOurce CHANnel The data source commands specify the data source for the trigger setup and hold violation. Query An integer, 1- 4. :TRIGger:SHOLd:DSOurce? The query returns the currently defined data source for the trigger setup and hold violation.
Trigger Commands 33 :TRIGger:SHOLd:HoldTIMe (HTIMe) Command :TRIGger:SHOLd:HoldTIMe 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. Query Hold time, in seconds. :TRIGger:SHOLD:HoldTIMe? The query returns the currently defined hold time for the setup and hold trigger violation.
33 Trigger Commands :TRIGger:SHOLd:MODE Command :TRIGger:SHOLd: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.
Trigger Commands 33 :TRIGger:SHOLd:SetupTIMe Command :TRIGger:SHOLd:SetupTIMe 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. Query Setup time, in seconds. :TRIGger:SHOLd:SetupTIMe? The query returns the currently defined setup time for the setup and hold trigger violation.
33 Trigger Commands State Trigger Commands • ":TRIGger:STATe:CLOCk" on page 965 • ":TRIGger:STATe:LOGic" on page 966 • ":TRIGger:STATe:LTYPe" on page 967 • ":TRIGger:STATe:SLOPe" on page 968 964 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Trigger Commands 33 :TRIGger:STATe:CLOCk Command :TRIGger:STATe:CLOCk {CHANnel | DIGital} This command selects the source for the clock waveform in the State Trigger Mode. An integer, 1- 4. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes. Query :TRIGger:STATe:CLOCk? The query returns the currently selected clock source.
33 Trigger Commands :TRIGger:STATe:LOGic Command :TRIGger:STATe:LOGic {CHANnel | DIGital}, {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. An integer, 1- 4. An integer, 0- 15. Digital channels are available on mixed- signal oscilloscopes.
Trigger Commands 33 :TRIGger:STATe:LTYPe Command :TRIGger: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: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.
33 Trigger Commands :TRIGger:STATe:SLOPe Command :TRIGger:STATe: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. Query :TRIGger:STATe:SLOPe? The query returns the currently defined slope for the clock in State Trigger Mode.
Trigger Commands 33 Timeout Trigger Commands • ":TRIGger:TIMeout:CONDition" on page 970 • ":TRIGger:TIMeout:SOURce" on page 971 • ":TRIGger:TIMeout:TIME" on page 972 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 969
33 Trigger Commands :TRIGger:TIMeout:CONDition Command :TRIGger:TIMeout:CONDition {HIGH | LOW | UNCHanged} 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.
Trigger Commands 33 :TRIGger:TIMeout:SOURce Command :TRIGger:TIMeout:SOURce CHANnel This command specifies the channel source used to trigger the oscilloscope with the timeout trigger. Query An integer, 1- 4. :TRIGger:TIMeout:SOURce? The query returns the currently defined channel source for the timeout trigger.
33 Trigger Commands :TRIGger:TIMeout:TIME Command :TRIGger:TIMeout:TIME This command lets you look for transition violations that are greater than or less than the time specified. Query The time for the timeout trigger, in seconds. :TRIGger:TIMeout:TIME? The query returns the currently defined time for the trigger trigger.
Trigger Commands 33 Transition Trigger Commands • ":TRIGger:TRANsition:DIRection" on page 974 • ":TRIGger:TRANsition:SOURce" on page 975 • ":TRIGger:TRANsition:TIME" on page 976 • ":TRIGger:TRANsition:TYPE" on page 977 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 973
33 Trigger Commands :TRIGger:TRANsition:DIRection Command :TRIGger:TRANsition: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. Query :TRIGger:TRANsition:DIRection? The query returns the currently defined direction for the trigger transition violation.
Trigger Commands 33 :TRIGger:TRANsition:SOURce Command :TRIGger:TRANsition:SOURce CHANnel 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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:TRANsition:TIME Command :TRIGger:TRANsition:TIME This command lets you look for transition violations that are greater than or less than the time specified. Query The time for the trigger violation transition, in seconds. :TRIGger:TRANsition:TIME? The query returns the currently defined time for the trigger transition violation.
Trigger Commands 33 :TRIGger:TRANsition:TYPE Command :TRIGger:TRANsition:TYPE {RISetime | FALLtime} This command lets you select either a rise time or fall time transition violation trigger event. Query :TRIGger:TRANsition:TYPE? The query returns the currently defined transition type for the trigger transition violation.
33 Trigger Commands TV Trigger Commands • ":TRIGger:TV:LINE" on page 979 • ":TRIGger:TV:MODE" on page 980 • ":TRIGger:TV:POLarity" on page 981 • ":TRIGger:TV:SOURce" on page 982 • ":TRIGger:TV:STANdard" on page 983 • ":TRIGger:TV:UDTV:ENUMber" on page 984 • ":TRIGger:TV:UDTV:HSYNc" on page 985 • ":TRIGger:TV:UDTV:HTIMe" on page 986 • ":TRIGger:TV:UDTV:PGTHan" on page 987 • ":TRIGger:TV:UDTV:POLarity" on page 988 978 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Trigger Commands 33 :TRIGger:TV:LINE Command :TRIGger:TV:LINE 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. Query Horizontal line number as shown below.
33 Trigger Commands :TRIGger:TV:MODE Command :TRIGger:TV:MODE {AFIelds | ALINes | ALTernate | FIElds1 | FIElds2 | LIN E} The :TRIGger:TV:MODE command determines which portion of the video waveform is used to trigger. Query :TRIGger:TV:MODE? The query returns the current TV trigger mode.
Trigger Commands 33 :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? The query returns the currently selected sync pulse polarity.
33 Trigger Commands :TRIGger:TV:SOURce Command :TRIGger:TV:SOURce CHANnel 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. Query An integer, 1- 4. :TRIGger:TV:SOURce? The query returns the currently selected standard TV trigger mode source.
Trigger Commands 33 :TRIGger:TV:STANdard Command :TRIGger:TV:STANdard {I1080L60HZ | I1080L50HZ | L525 | L625 | P480L60HZ | P576L50HZ | P720L60HZ | P720L50HZ | P1080L60HZ | P1080L50HZ | P1080L30HZ | P1080L25HZ | P1080L24HZ | UDTV} The TRIGger:TV:STANdard command sets triggering to one of the standard video types. There is also a user defined TV type that can be used to set the triggering to one of the non- standard types of video.
33 Trigger Commands :TRIGger:TV:UDTV:ENUMber Command :TRIGger:TV:UDTV:ENUMber The :TRIGger:TV:UDTV:ENUMber command specifies the number of events (horizontal sync pulses) to delay after arming the trigger before looking for the trigger event. Specify conditions for arming the trigger using: TRIGger:TV:UDTV:PGTHan, and TRIGger:TV:UDTV:POLarity. Query An integer for the number of events to delay. Allowable values range from 1 to 16,000,000.
Trigger Commands 33 :TRIGger:TV:UDTV:HSYNc Command :TRIGger:TV:UDTV:HSYNc {ON | 1} | {OFF | 0}} This command enables the horizontal sync mode of triggering. Query :TRIGger:TV:UDTV:HSYNc? The query returns the current state of the horizontal sync mode of triggering.
33 Trigger Commands :TRIGger:TV:UDTV:HTIMe Command :TRIGger:TV:UDTV:HTIMe The :TRIGger:TV:UDTV:HTIMe command sets the time that a sync pulse must be present to be considered a valid sync pulse. Query A real number that is the time width for the sync pulse. :TRIGger:TV:UDTV:HTIMe? The query returns the currently defined time for the sync pulse width.
Trigger Commands 33 :TRIGger:TV:UDTV:PGTHan Command :TRIGger:TV:UDTV:PGTHan The :TRIGger:TV:UDTV:PGTHan (Present Greater THan) command specifies the minimum pulse width of the waveform used to arm the trigger used during user- defined trigger mode. Query Minimum pulse width (time >), from 5 ns to 9.9999999 s. :TRIGger:TV:UDTV:PGTHan? The query returns the currently selected minimum pulse width.
33 Trigger Commands :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.
Trigger Commands 33 Window Trigger Commands • ":TRIGger:WINDow:CONDition" on page 990 • ":TRIGger:WINDow:SOURce" on page 991 • ":TRIGger:WINDow:TIME" on page 992 • ":TRIGger:WINDow:TPOint" on page 993 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 989
33 Trigger Commands :TRIGger:WINDow:CONDition Command :TRIGger:WINDow:CONDition {ENTer | EXIT | INSide [,{GTHan | LTHan}] | OUTSide [,{GTHan | LTHan}]} This command describes the condition applied to the trigger window to actually generate a trigger. Query :TRIGger:WINDow:CONDition? The query returns the currently defined trigger condition.
Trigger Commands 33 :TRIGger:WINDow:SOURce Command :TRIGger:WINDow:SOURce CHANnel This command specifies the channel source used to trigger the oscilloscope with the window trigger. Query An integer, 1- 4. :TRIGger:WINDow:SOURce? The query returns the currently defined channel source for the window trigger.
33 Trigger Commands :TRIGger:WINDow:TIME Command :TRIGger:WINDow:TIME This command lets you look for transition violations that are greater than or less than the time specified. Query The time for the trigger violation transition, in seconds. :TRIGger:WINDow:TIME? The query returns the currently defined time for the trigger window timeout.
Trigger Commands 33 :TRIGger:WINDow:TPOint Command :TRIGger:WINDow:TPOint {BOUNdary | TIMeout} This command specifies whether the window trigger should occur at the boundary of the window or at a specified timeout period. Query :TRIGger:WINDow:TPOint? The query returns the currently defined trigger on point for the pulse width trigger.
33 Trigger Commands Advanced Comm Trigger Commands Use the COMM Trigger Mode to find a serial pattern of bits in a waveform. The COMM Trigger Mode is primarily used to find an isolated logically one bit in a waveform for mask testing applications. The pattern is defined by the standards used by the telecommunication and data communication industries. Mask testing is used to verify a waveform meets industrial standards which guarantees that equipment made by different manufacturers will work together.
Trigger Commands 33 :TRIGger:ADVanced:COMM:BWIDth Command :TRIGger:ADVanced:COMM:BWIDth The :TRIGger:ADVanced: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. Query A real number that represents the width of a bit. :TRIGger:ADVanced:COMM:BWIDth? The query returns the current bit width.
33 Trigger Commands :TRIGger:ADVanced:COMM:ENCode Command :TRIGger:ADVanced:COMM:ENCode {RZ | NRZ} This :TRIGger:ADVanced:COMM:ENCode command sets the type of waveform encoding for your waveform. You should use NRZ for CMI type waveforms and RZ for all other type of waveforms.
Trigger Commands 33 :TRIGger:ADVanced:COMM:LEVel Command :TRIGger:ADVanced:COMM:LEVel CHANnel, The :TRIGger:ADVanced:COMM:LEVel command sets the voltage level used to determine a logic 1 from a logic 0 for the communication pattern. Query An integer, 1- 4. A real number which is the logic level voltage. :TRIGger:ADVanced:COMM:LEVel? CHANnel The :TRIGger:ADVanced:COMM:LEVel? query returns the current level for the communication pattern.
33 Trigger Commands :TRIGger:ADVanced:COMM:PATTern Command :TRIGger:ADVanced:COMM:PATTern [,
Trigger Commands 33 :TRIGger:ADVanced:COMM:POLarity Command :TRIGger:ADVanced:COMM:POLarity {POSitive | NEGative} The :TRIGger:ADVanced:COMM:POLarity command directly controls the trigger slope used for communication trigger. When set to a positive value, the rising edge of a pulse or waveform is used to trigger the oscilloscope. When set to a negative value, the falling edge of a pulse or waveform is used. The polarity setting is also used to check for valid patterns.
33 Trigger Commands :TRIGger:ADVanced:COMM:SOURce Command :TRIGger:ADVanced:COMM:SOURce CHANnel The :TRIGger:ADVanced:COMM:SOURce command selects the channel used for the communication trigger. Query An integer, 1- 4. :TRIGger:ADVanced:COMM:SOURce? The :TRIGger:ADVanced:COMM:SOURce? query returns the currently selected communication trigger source.
Trigger Commands 33 Advanced Pattern Trigger Commands Logic triggering is similar to the way that a logic analyzer captures data. This mode is useful when you are looking for a particular set of ones and zeros on a computer bus or control lines. You determine which channels the oscilloscope uses to form the trigger pattern. Because you can set the voltage level that determines a logic 1 or a logic 0, any logic family that you are probing can be captured.
33 Trigger Commands Set the Mode Before Executing Commands Before you can execute the :TRIGger:ADVanced:PATTern commands, set the mode by entering: :TRIGger:MODE ADVanced and :TRIGger:ADVanced:MODE PATTern To query the oscilloscope for the advanced trigger mode, enter: :TRIGger:ADVanced:MODE? The :TRIGger:ADVanced:PATTern commands define the conditions for the Pattern Trigger Mode.
33 Trigger Commands :TRIGger:ADVanced:PATTern:CONDition Command :TRIGger:ADVanced:PATTern:CONDition {ENTered | EXITed | {GT,[,PEXits|TIMeout]} | {LT,} | {RANGe,,}} This command describes the condition applied to the trigger pattern to actually generate a trigger. The minimum time (greater than time) for the trigger pattern, from 10 ns to 9.9999999 s. The maximum time (less than time) for the trigger pattern, from 15 ns to 10 s.
33 Trigger Commands :TRIGger:ADVanced:PATTern:LOGic Command :TRIGger:ADVanced:PATTern:LOGic {{CHANnel | | DIGital< M>},{HIGH|LOW|DONTcare|RISing|FALLing}} This command defines the logic criteria for a selected channel. An integer, 1- 4. An integer, 0- 15. The digital channels are only available on the MSO oscilloscopes or DSO models with the MSO license installed. Query The channel range is from 0 to 15 in the following format.
33 Trigger Commands :TRIGger:ADVanced:PATTern:THReshold:LEVel Command :TRIGger:ADVanced:PATTern:THReshold:LEVel {CHANnel}, The :TRIGger:ADVanced:PATTern:THReshold: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 dialogs (Edge, Glitch, and Advanced).
33 Trigger Commands :TRIGger:ADVanced:PATTern:THReshold:POD Command :TRIGger:ADVanced:PATTern:THReshold:POD {CMOS50 | CMOS30 | CMOS25 | ECL | PECL | TTL | } This command is only valid for the MSO oscilloscopes. NOTE The TRIGger:ADVanced:PATTern:THReshold:POD command sets the logic threshold value for the selected pod. POD1 is digital channels D0 through D7 and POD2 is digital channels D8 through D15.
Trigger Commands 33 Advanced State Trigger Commands Logic triggering is similar to the way that a logic analyzer captures data. This mode is useful when you are looking for a particular set of ones and zeros on a computer bus or control lines. You determine which channels the oscilloscope uses to form the trigger pattern. Because you can set the voltage level that determines a logic 1 or a logic 0, any logic family that you are probing can be captured.
33 Trigger Commands • ":TRIGger:ADVanced:STATe:LOGic" on page 1010 • ":TRIGger:ADVanced:STATe:LTYPe" on page 1011 • ":TRIGger:ADVanced:STATe:SLOPe" on page 1012 • ":TRIGger:ADVanced:STATe:THReshold:LEVel" on page 1013 1008 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Trigger Commands 33 :TRIGger:ADVanced:STATe:CLOCk Command :TRIGger:ADVanced:STATe:CLOCk {CHANnel | DIGital | DONTcare | } This command selects the source for the clock waveform in the State Trigger Mode. An integer, 1- 2, for two channel Infiniium Oscilloscope. An integer, 1- 4, for all other Infiniium Oscilloscope models. An integer, 0- 15. The digital channels are only available on the MSO oscilloscopes or DSO models with the MSO license installed.
33 Trigger Commands :TRIGger:ADVanced:STATe:LOGic Command :TRIGger:ADVanced:STATe:LOGic {{CHANnel | | DIGital},{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. An integer, 1- 2, for two channel Infiniium Oscilloscope. An integer, 1- 4, for all other Infiniium Oscilloscope models.
Trigger Commands 33 :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.
33 Trigger Commands :TRIGger:ADVanced:STATe:SLOPe Command :TRIGger:ADVanced:STATe:SLOPe {POSitive|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.
Trigger Commands 33 :TRIGger:ADVanced:STATe:THReshold:LEVel Command :TRIGger:ADVanced:STATe:THReshold:LEVel l> {CHANnel | DIGital},
33 Trigger Commands Advanced Delay By Event Trigger Commands You can set the delay mode to delay by events or time. Use Delay By Event mode to view pulses in your waveform that occur a number of events after a specified waveform edge. Infiniium Oscilloscopes identify a trigger by arming on the edge you specify, counting a number of events, then triggering on the specified edge.
Trigger Commands Set the Mode Before Executing Commands 33 Before you can execute the :TRIGger:ADVanced:DELay commands, set the mode by entering: :TRIGger:MODE ADVanced and :TRIGger:ADVanced:MODE DELay 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.
33 Trigger Commands :TRIGger:ADVanced:DELay:EDLY:ARM:SOURce Command :TRIGger:ADVanced:DELay:EDLY:ARM:SOURce {CHANnel | DIGital} This command sets the Arm On source for arming the trigger circuitry when the oscilloscope is in the Delay By Event trigger mode. An integer, 1- 4. An integer, 0- 15. The digital channels are only available on the MSO oscilloscopes or DSO models with the MSO license installed.
Trigger Commands 33 :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.
33 Trigger Commands :TRIGger:ADVanced:DELay:EDLY:EVENt:DELay Command :TRIGger:ADVanced:DELay:EDLY:EVENt:DELay This command sets the event count for a Delay By Event trigger event. Query An integer from 0 to 16,000,000 specifying the number of edges to delay. :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.
Trigger Commands 33 :TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce Command :TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce {CHANnel | DIGital} This command sets the Event source for a Delay By Event trigger event. An integer, 1- 2, for two channel Infiniium Oscilloscope. An integer, 1- 4, for all other Infiniium Oscilloscope models. An integer, 0- 15. The digital channels are only available on the MSO oscilloscopes or DSO models with the MSO license installed.
33 Trigger Commands :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.
33 Trigger Commands :TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce Command :TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce {CHANnel | DIGital} This command sets the Trigger On source for a Delay By Event trigger event. An integer, 1- 4. An integer, 0- 15. The digital channels are only available on the MSO oscilloscopes or DSO models with the MSO license installed.
33 Trigger Commands :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.
Trigger Commands 33 Advanced Delay By Time Trigger Commands You can set the delay mode to delay by events or time. Use Delay By Time mode to view pulses in your waveform that occur a long time after a specified waveform edge. The Delay by Time identifies a trigger condition by arming on the edge you specify, waiting a specified amount of time, then triggering on a specified edge. This can be thought of as two- edge triggering, where the two edges are separated by a selectable amount of time.
33 Trigger Commands Set the Mode Before Executing Commands Before you can execute the :TRIGger:ADVanced:DELay commands, set the mode by entering: :TRIGger:MODE ADVanced and :TRIGger:ADVanced:MODE DELay 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.
Trigger Commands 33 :TRIGger:ADVanced:DELay:TDLY:ARM:SOURce Command :TRIGger:ADVanced:DELay:TDLY:ARM:SOURce {CHANnel | DIGital} This command sets the Arm On source for arming the trigger circuitry when the oscilloscope is in the Delay By Time trigger mode. An integer, 1- 4. An integer, 0- 15. The digital channels are only available on the MSO oscilloscopes or DSO models with the MSO license installed.
33 Trigger Commands :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.
Trigger Commands 33 :TRIGger:ADVanced:DELay:TDLY:DELay Command :TRIGger:ADVanced:DELay:TDLY:DELay This command sets the delay for a Delay By Time trigger event. Query Time, in seconds, set for the delay trigger, from 5 ns to 10 s. :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.
33 Trigger Commands :TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce Command :TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce {CHANnel | DIGital} This command sets the Trigger On source for a Delay By Time trigger event. An integer, 1- 4. An integer, 0- 15. The digital channels are only available on the MSO oscilloscopes or DSO models with the MSO license installed.
Trigger Commands 33 :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.
33 Trigger Commands Advanced Standard TV Trigger Commands Use TV trigger mode to trigger on one of the standard television waveforms. Also, use this mode to trigger on a custom television waveform that you define, as described in the next section. There are four types of television (TV) trigger modes: 525 (NTSC or PAL- M), 625 (PAL), and User Defined. The 525 and 625 are predefined video standards used throughout the world.
33 Trigger Commands To query the oscilloscope for the advanced trigger mode or the advanced trigger TV mode, enter: :TRIGger:ADVanced:MODE? or :TRIGger:ADVanced:TV:MODE? You set up the :TRIGger:ADVanced:TV:STV commands with the following commands and queries: • ":TRIGger:ADVanced:TV:STV:FIELd" on page 1032 • ":TRIGger:ADVanced:TV:STV:LINE" on page 1033 • ":TRIGger:ADVanced:TV:STV:SOURce" on page 1034 • ":TRIGger:ADVanced:TV:STV:SPOLarity" on page 1035 Agilent Infiniium 9000 Series Oscilloscopes Programm
33 Trigger Commands :TRIGger:ADVanced:TV:STV:FIELd Command :TRIGger:ADVanced:TV:STV:FIELd {1|2} This command is available in standard TV trigger modes L525 and L626. The :TRIGger:ADVanced:TV:STV:FIELd command selects which TV waveform field is used during standard TV trigger mode. The line within the selected field is specified using the :TRIGger:ADVanced:TV:STV:LINE command. Query :TRIGger:ADVanced:TV:STV:FIELd? The query returns the current television waveform field.
Trigger Commands 33 :TRIGger:ADVanced:TV:STV:LINE Command :TRIGger:ADVanced:TV:STV:LINE This command is available in standard TV trigger modes L525 and L626. The :TRIGger:ADVanced:TV:STV:LINE command selects the horizontal line that the instrument will trigger on. Allowable line_number entry depends on the :TRIGger:ADVanced:TV:STV:FIELd selected. Once the vertical sync pulse of the selected field is received, the trigger is delayed by the number of lines specified.
33 Trigger Commands :TRIGger:ADVanced:TV:STV:SOURce Command :TRIGger:ADVanced:TV:STV:SOURce {CHANnel} This command is available in standard TV trigger modes L525 and L626. The :TRIGger:ADVanced:TV:STV:SOURce command selects the source for standard TV mode triggering. This is the source that will be used for subsequent :TRIGger:ADVanced:TV:STV commands and queries. Query An integer, 1- 4. :TRIGger:ADVanced:TV:STV:SOURce? The query returns the currently selected standard TV trigger mode source.
Trigger Commands 33 :TRIGger:ADVanced:TV:STV:SPOLarity Command :TRIGger:ADVanced:TV:STV:SPOLarity {NEGative|POSitive} This command is available in standard TV trigger modes L525 and L626. The :TRIGger:ADVanced:TV:STV:SPOLarity (Sync POLarity) command specifies the vertical sync pulse polarity for the selected field used during standard TV mode triggering. Query :TRIGger:ADVanced:TV:STV:SPOLarity? The query returns the currently selected sync pulse polarity.
33 Trigger Commands Advanced User Defined TV Mode and Commands Use TV trigger mode to trigger on one of the standard television waveforms, as described in the previous section, and to trigger on a custom television waveform that you define. The User Defined TV trigger lets you trigger on nonstandard TV waveforms. User Defined TV Trigger Source Level Use the Source control to select one of the oscilloscope channels as the trigger source. Use the Level control to set the trigger voltage level.
Trigger Commands 33 :TRIGger:ADVanced:MODE? or :TRIGger:ADVanced:TV:MODE? You set up the :TRIGger:ADVanced:TV:UDTV commands with the following commands and queries: • ":TRIGger:ADVanced:TV:UDTV:ENUMber" on page 1038 • ":TRIGger:ADVanced:TV:UDTV:PGTHan" on page 1039 • ":TRIGger:ADVanced:TV:UDTV:POLarity" on page 1040 • ":TRIGger:ADVanced:TV:UDTV:SOURce" on page 1041 When triggering for User Defined TV mode: • Set the channel or trigger source for the trigger using: :TRIGger:ADVanced:TV:UDTV:SOURce • Set
33 Trigger Commands :TRIGger:ADVanced:TV:UDTV:ENUMber Command :TRIGger:ADVanced:TV:UDTV:ENUMber The :TRIGger:ADVanced:TV:UDTV:ENUMber command specifies the number of events (horizontal sync pulses) to delay after arming the trigger before looking for the trigger event. Specify conditions for arming the trigger using: TRIGger:ADVanced:TV:UDTV:PGTHan, and TRIGger:ADVanced:TV:UDTV:POLarity. Query An integer for the number of events to delay. Allowable values range from 1 to 16,000,000.
Trigger Commands 33 :TRIGger:ADVanced:TV:UDTV:PGTHan Command :TRIGger:ADVanced:TV:UDTV:PGTHan The :TRIGger:ADVanced:TV:UDTV:PGTHan (Present Greater THan) command specifies the minimum pulse width of the waveform used to arm the trigger used during user- defined trigger mode. Query Minimum pulse width (time >), from 5 ns to 9.9999999 s. :TRIGger:ADVanced:TV:UDTV:PGTHan? The query returns the currently selected minimum pulse width.
33 Trigger Commands :TRIGger:ADVanced:TV:UDTV:POLarity Command :TRIGger:ADVanced:TV:UDTV:POLarity {NEGative|POSitive} The :TRIGger:ADVanced:TV:UDTV:POLarity command specifies the polarity for the sync pulse used to arm the trigger in the user- defined trigger mode. Query :TRIGger:ADVanced:TV:UDTV:POLarity? The query returns the currently selected UDTV sync pulse polarity.
Trigger Commands 33 :TRIGger:ADVanced:TV:UDTV:SOURce Command :TRIGger:ADVanced:TV:UDTV:SOURce {CHANnel} The :TRIGger:ADVanced:TV:UDTV:SOURce command selects the source for user- defined TV mode triggering. This is the source that will be used for subsequent :TRIGger:ADVanced:TV:UDTV commands and queries. Query An integer, 1- 4. :TRIGger:ADVanced:TV:UDTV:SOURce? The query returns the currently selected user- defined TV trigger mode source.
33 Trigger Commands Advanced Violation Trigger Modes Violation triggering helps you find conditions within your circuit that violate the design rules. There are four types of violation triggering: Pulse Width, Setup and Hold Time, and Transition. • ":TRIGger:ADVanced:VIOLation:MODE" on page 1043 PWIDth This mode lets you find pulses that are wider than the rest of the pulses in your waveform. It also lets you find pulses that are narrower than the rest of the pulses in the waveform.
Trigger Commands 33 :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 command specifies the mode for trigger violations. The is either PWIDth, SETup, or TRANsition.
33 Trigger Commands Advanced Pulse Width Violation Trigger Commands Use Pulse Width Violation Mode to find pulses that are wider than the rest of the pulses in your waveform. You can also use this mode to find pulses that are narrower than the rest of the pulses in the waveform. The oscilloscope identifies a pulse width trigger by looking for a pulse that is either wider than or narrower than other pulses in your waveform.
Trigger Commands Width 33 Use the Width control to define how wide of a pulse will trigger the oscilloscope. The glitch width range is from 1.5 ns to 10 s. Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
33 Trigger Commands :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.
33 Trigger Commands :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.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:PWIDth:SOURce Command :TRIGger:ADVanced:VIOLation:PWIDth:SOURce {CHANnel | Digital} This command specifies the channel source used to trigger the oscilloscope with the pulse width trigger. An integer, 1- 2, for two channel Infiniium Oscilloscope. An integer, 1- 4, for all other Infiniium Oscilloscope models. A real number for the voltage through which the pulse must pass before the oscilloscope will trigger. An integer, 0- 15.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:PWIDth:WIDTh Command :TRIGger:ADVanced:VIOLation:PWIDth:WIDTh This command specifies how wide a pulse must be to trigger the oscilloscope. Query Pulse width, which can range from 1.5 ns to 10 s. :TRIGger:ADVanced:VIOLation:PWIDth:WIDTh? The query returns the currently defined width for the pulse.
33 Trigger Commands Advanced Setup Violation Trigger Commands Use Setup Violation Mode to find violations of setup and hold times in your circuit.
33 Trigger Commands • ":TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe (HTIMe)" on page 1075 Mode Use MODE to select Setup, Hold, or both Setup and Hold time triggering. 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.
33 Trigger Commands Hold Time Setup and Hold 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. 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.
Trigger Commands 33 :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.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce Command :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce {CHANnel} 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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel Command :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce: LEVel {{CHANnel},} 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. Query An integer, 1- 4.
33 Trigger Commands :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.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce {CHANnel} The data source commands specify the data source for the trigger setup violation. Query An integer, 1- 4. :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce? The query returns the currently defined data source for the trigger setup violation.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold {{CHANnel} ,} 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. Query An integer, 1- 4.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold {{CHANnel} ,} 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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SETup:TIME Command :TRIGger:ADVanced:VIOLation:SETup:SETup: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. Query Setup time, in seconds. :TRIGger:ADVanced:VIOLation:SETup:SETup:TIME? The query returns the currently defined setup time for the trigger violation.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce {CHANnel} 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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce: LEVel {{CHANnel},} 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. Query An integer, 1- 4.
Trigger Commands 33 :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.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce {CHANnel} The data source commands specify the data source for the trigger hold violation. Query An integer, 1- 4. :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce? The query returns the currently defined data source for the trigger hold violation.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce: HTHReshold {{CHANnel},} 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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce: LTHReshold {{CHANnel},} 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. Query An integer, 1- 4.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME Command :TRIGger:ADVanced:VIOLation:SETup:HOLD: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. Query Hold time, in seconds. :TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME? The query returns the currently defined hold time for the trigger violation.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce: {CHANnel} 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. Query An integer, 1- 4.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel {{CHANnel},} 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. Query An integer, 1- 4.
33 Trigger Commands :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.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce {CHANnel} The data source commands specify the data source for the trigger setup and hold violation. Query An integer, 1- 4. :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce? The query returns the currently defined data source for the trigger setup and hold violation.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce: HTHReshold {{CHANnel},} 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. Query An integer, 1- 4.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce: LTHReshold {{CHANnel},} 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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe (STIMe) Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe 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. Query Setup time, in seconds.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe (HTIMe) Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe 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. Query Hold time, in seconds.
33 Trigger Commands Advanced Transition Violation Trigger Commands Use Transition Violation Mode to find any edge in your waveform that violates a rise time or fall time specification. Infiniium Oscilloscopes find 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.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:MODE? Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 1077
33 Trigger Commands :TRIGger:ADVanced:VIOLation:TRANsition Command :TRIGger:ADVanced:VIOLation:TRANsition:{GTHan|LTHan} This command lets you look for transition violations that are greater than or less than the time specified. 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.
Trigger Commands 33 :TRIGger:ADVanced:VIOLation:TRANsition:SOURce Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce {CHANnel} 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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold {{CHANnel},< 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. Query An integer, 1- 4.
33 Trigger Commands :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold {{CHANnel},< 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. Query An integer, 1- 4.
33 Trigger Commands :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.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 34 Waveform Commands :WAVeform:BANDpass? 1086 :WAVeform:BYTeorder 1087 :WAVeform:COMPlete? 1088 :WAVeform:COUNt? 1089 :WAVeform:COUPling? 1090 :WAVeform:DATA? 1091 :WAVeform:FORMat 1113 :WAVeform:POINts? 1116 :WAVeform:PREamble? 1117 :WAVeform:SEGMented:ALL 1122 :WAVeform:SEGMented:COUNt? 1123 :WAVeform:SEGMented:TTAG? 1124 :WAVeform:SEGMented:XLISt? 1125 :WAVeform:SOURce 1126 :WAVeform:STReaming 1128 :WAVeform:TYPE? 1129 :WAVeform:VIEW 113
34 Waveform Commands The WAVeform subsystem is used to transfer waveform data between a computer and the oscilloscope. It contains commands to set up the waveform transfer and to send or receive waveform records to or from the oscilloscope. Data Acquisition When data is acquired using the DIGitize command, the data is placed in the channel or function memory of the specified source. After the DIGitize command executes, the oscilloscope is stopped.
Waveform Commands 34 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 Data Transfer There are four types of data formats that you can select using the :WAVeform:FORMat command: ASCii, BYTE, WORD, and BINary. Refer to the FORMat command in this chapter for more information on data formats.
34 Waveform Commands :WAVeform:BANDpass? Query :WAVeform:BANDpass? The :WAVeform:BANDpass? query returns an estimate of the maximum and minimum bandwidth limits of the source waveform. The bandwidth limits are computed as a function of the coupling and the selected filter mode. The cutoff frequencies are derived from the acquisition path and software filtering. Returned Format [:WAVeform:BANDpass], Minimum frequency passed by the acquisition system.
34 Waveform Commands :WAVeform:BYTeorder Command :WAVeform:BYTeorder {MSBFirst | LSBFirst} The :WAVeform:BYTeorder command selects the order in which bytes are transferred to and from the oscilloscope using WORD and LONG formats. If MSBFirst is selected, the most significant byte is transferred first. Otherwise, the least significant byte is transferred first. The default setting is MSBFirst. NOTE The data transfer rate is faster using the LSBFirst byte order.
34 Waveform Commands :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.
Waveform Commands 34 :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.
34 Waveform Commands :WAVeform:COUPling? Query :WAVeform:COUPling? The :WAVeform:COUPling? query returns the input coupling of the currently selected source. Returned Format Example [:WAVeform:COUPling] {AC | DC | DCFifty | LFReject} 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.
34 Waveform Commands :WAVeform:DATA? Query :WAVeform:DATA? [[,]] 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. NOTE The data's returned response depends upon the setting of the :WAVeform:STReaming command. See "Streaming Off" on page 1091 or "Streaming On" on page 1092 for more detail.
34 Waveform Commands # N L (N bytes) 0 1 2 ... L-1 End 2nd byte of BYTE, WORD, or BINary format waveform data 1st byte of BYTE, WORD, or BINary format waveform data Number of bytes of waveform data to follow Number of bytes in Length block Start of response Last byte of BYTE, WORD, or BINary format waveform data Termination character Figure 5 Streaming On Streaming Off When streaming is on there is no limit on the number of waveform data points that are returned.
Waveform Commands 34 The format of the waveform data must match the format previously specified by the :WAVeform:FORMat and :WAVeform:BYTeorder commands. DATA? Example for Analog Channels The following C example shows how to transfer WORD formatted waveform data for analog channels to a computer. /* readdata. c */ /* * * * * * * */ Reading Word format example. This program demonstrates the order of commands suggested for operation of the Infiniium oscilloscope via LAN.
34 Waveform Commands { exit( 1 ); } AcquireData(); WriteIO( ":WAVeform:FORMat WORD" ); /* Setup transfer format */ WriteIO( ":WAVeform:BYTeorder LSBFirst" ); /* Setup transfer of LSB first */ WriteIO( ":WAVeform:SOURce CHANnel1" ); /* Waveform data source channel 1 */ WriteIO( ":WAVeform:STReaming 1" ); /* Turn on waveform streaming of data */ GetVoltageConversionFactors( &yInc, &yOrg ); GetTimeConversionFactors( &xInc, &xOrg ); BytesToRead = MAX_LENGTH; SetupDataTransfer(); WriteCsvToFile( BytesToRead );
34 Waveform Commands * 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.
34 Waveform Commands unsigned long ReadWord( char *buffer, int *reason, unsigned long BytesToRead ) { long BytesRead; iread( scope, 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 * oscilloscope device session using SICL commands.
34 Waveform Commands * * * * * * oscilloscope's data buffers, acquires new data, and ensures that acquisition criteria are met before the acquisition is stopped. Note that the display is automatically turned off when you use this form of the :DIGitize command and must be turned on to view the captured data on screen.
34 Waveform Commands } while ( cData != '#' ); /* Find the 0 character */ 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.
Waveform Commands 34 file if it already exists */ 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; }; buff = (short *) buffer; for( i = 0; i < ((BytesRead - 1)/2); i++) { Time = (j * xInc) + xOrg; /* calculate time */ j = j + 1; Volts = (buff[i] * yInc) + yOrg;/* calculate voltage */ fprintf( fp, "%e,%f\n"
34 Waveform Commands 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. */ #include #include #include #include "sicl.
Waveform Commands 34 int Start; void main( void ) { char Term; unsigned long BytesToRead; if ( !InitIO() ) { exit( 1 ); } AcquireData(); WriteIO( WriteIO( WriteIO( WriteIO( ":SYStem:HEADer OFF" ); ":SYStem:LONGform OFF" ); ":WAVeform:BYTEorder LSBFirst" ); /* Setup byte order */ ":WAVeform:FORMat WORD" ); /* Setup transfer format * / WriteIO( ":WAVeform:SOURce POD1" ); 1 */ /* Waveform data source pod GetTimeConversionFactors( ); BytesToRead = SetupDataTransfer( -25E-6, 25E-6); ReadWord( wordData, Byt
34 Waveform Commands ************************************************************************ *******/ int InitIO( void ) { ionerror( I_ERROR_EXIT ); /* set-up interface error handling */ bus = iopen( INTERFACE ); /* open interface session */ if ( bus == 0 ) { printf( "Bus session invalid\n" ); return FALSE; } itimeout( bus, IO_TIMEOUT ); iclear( bus ); /* set bus timeout */ /* clear the interface */ #ifdef LAN scope = bus; #else scope = iopen( DEVICE_ADDR ); /* open the scope device session * / if ( s
34 Waveform Commands iwrite( scope, buffer, BytesToWrite, send_end, &actualcnt ); } /*********************************************************************** ******* * 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 * usi
34 Waveform Commands /*********************************************************************** ******* * 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.
Waveform Commands * * * * 34 acquires new data, and ensures that acquisition criteria are met before the acquisition is stopped. Note that the display is automatically turned off when you use this form of the :DIGitize command and must be turned on to view the captured dat a * */ on screen.
34 Waveform Commands WriteIO( Range ); /* Request waveform data */ /* Find the # character */ 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.
Waveform Commands 34 * 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.
34 Waveform Commands fprintf( fp, "Time,Decimal Word Data,Hex Word Data,Hex Byte Data,Bi nary Byte Data\n"); Binary[8] = '\0'; for ( i = 0; i < AcquiredLength; i++ ) { // Create the binary formated byte data for ( j = 7, k = 0; j >= 0; j--, k++ ) { Binary[k] = ((byteData[i] & ( 1 << j )) >> j) + '0'; } fprintf( fp, "%e,%d,%04X,%02X,%s\ n", TimeValues[i], wordData[i], wordData[i], byteData[i], Binary ); } fclose( fp ); } else { printf("Unable to open file 'digital.
Waveform Commands 34 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 Figure 7 Block Diagram of an ADC All ADCs have non- linearity errors which, if not corrected, can give less accurate vertical measurement results.
34 Waveform Commands Ideal ADC Conversion Non-ideal ADC Conversion Normalized Analog Input Figure 8 FS = the full scale voltage of the ADC FS 0 FS 7/8FS 6/8FS 5/8FS 4/8FS 000 3/8FS 000 2/8FS 001 1/8FS 001 7/8FS 010 6/8FS 010 011 5/8FS 011 100 4/8FS 100 101 3/8FS 101 110 2/8FS 110 Nonlinearity Errors 1/8FS Output Digital Number 111 0 Output Digital Number 111 Normalized Analog Input ADC Non-linearity Errors for a 3-bit ADC The graph on the left shows an ADC which
34 Waveform Commands Channel In Analog to Digital Converter ASCII Format D7 D6 D5 D4 D3 D2 D1 Calibration Look-up 16 bits Table D0 Aux Out Figure 9 Calibration Digital to Analog 16 bits Converter Stream of 8 bit Characters WORD Format 16 bits BYTE Format 8 bits CPU Data Flow in Infiniium 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.
34 Waveform Commands 16-Bit Integers 8-Bit Integer Decimal Hex 26,240 0x6680 26,200 0x6658 26,160 0x6630 26,120 0x6608 Truncated to >> Hex Decimal 0x66 102 This conversion is what makes the BYTE download format less accurate than the WORD format.
Waveform Commands 34 :WAVeform:FORMat Command :WAVeform:FORMat {ASCii | BINary | BYTE | WORD} 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. Table 23 Selecting a Format Type Advantages Disadvantages ASCii • Data is returned as voltage values • Very slow data download rate. and does not need to be converted.
34 Waveform Commands • 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.
Waveform Commands Returned Format Example 34 [:WAVeform:FORMat] {ASCii | BINary | BYTE | WORD} 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.
34 Waveform Commands :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.
34 Waveform Commands :WAVeform:PREamble? Query :WAVeform:PREamble? The :WAVeform:PREamble? query outputs a waveform preamble to the computer from the waveform source, which can be a waveform memory or channel buffer. Returned Format [:WAVeform:PREamble] The preamble can be used to translate raw data into time and voltage values. The following lists the elements in the preamble.
34 Waveform Commands 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 1133 query.) 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.
34 Waveform Commands 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. 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.
34 Waveform Commands Table 24 Waveform Preamble Elements (continued) 1120 Element Description 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. (See the ":WAVeform:XINCrement?" on page 1133 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.
34 Waveform Commands Table 24 Waveform Preamble Elements (continued) See Also Element Description Acquisition Mode The acquisition sampling mode of the waveform. (See ":ACQuire:MODE" on page 156.) Complete The complete value is the percent of time buckets that are complete. The complete value is ignored when it is sent to the oscilloscope in the preamble. (See the ":WAVeform:COMPlete?" on page 1088 query.) X Units The X-axis units of the waveform. (See the ":WAVeform:XUNits?" on page 1137 query.
34 Waveform Commands :WAVeform:SEGMented:ALL Command :WAVeform:SEGMented:ALL {{ON | 1} | {OFF | 0}} The :WAVeform:SEGmented:ALL command configures the DATA query for rapidly downloading all segments in one query. The and optional parameters for the DATA query are still supported and represent the start and size of the data for each segment. Powering on the oscilloscope or performing a Default Setup sets this command to OFF.
Waveform Commands 34 :WAVeform:SEGMented:COUNt? Query :WAVeform:SEGMented:COUNt? The :WAVeform:SEGMented:COUNt? query returns the index number of the last captured segment. A return value of zero indicates that the :ACQuire:MODE is not set to SEGMented. Returned Format Example An integer number representing the index value of the last segment.
34 Waveform Commands :WAVeform:SEGMented:TTAG? Query :WAVeform:SEGMented:TTAG? The :WAVeform:SEGMented:TTAG? query returns the time difference between the first segment's trigger point and the trigger point of the currently displayed segment. Returned Format Example A real number in exponential format representing the time value difference between the first segment's trigger point and the currently displayed segment.
34 Waveform Commands :WAVeform:SEGMented:XLISt? Query :WAVeform:SEGMented:XLISt? {RELXorigin | ABSXorigin | TTAG} The :WAVeform:SEGMented:XLISt? query rapidly downloads x- parameter values for all segments. RELXorigin = relative X origin for each segment.
34 Waveform Commands :WAVeform:SOURce Command :WAVeform:SOURce {CHANnel | COMMonmode DIFFerential
| FUNCtion | HISTogram | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized | BUS | POD1 | POD2 | PODALL} The :WAVeform:SOURce command selects a channel, function, waveform memory, or histogram as the waveform source. MTRend and MSPectrum sources are only available if the oscilloscope has the EZJIT option installed and the feature is enabled.
Waveform Commands Returned Format Example 34 [:WAVeform:SOURce] {CHANnel | COMMonmode | DIFFerential
| FUNCtion | HISTogram | WMEMory | CLOCk | MTRend | MSPectrum | EQUalized | BUS | POD1 | POD2 | PODALL} 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.
34 Waveform Commands :WAVeform:STReaming Command :WAVeform:STReaming {{ON | 1} | {OFF | 0}} When enabled, :WAVeform:STReaming allows more than 999,999,999 bytes of data to be transfered from the Infiniium oscilloscope to a PC when using the :WAVeform:DATA? query. See the :WAVeform:DATA? query for information on receiving this much data. Example This example turns on the streaming feature. myScope.
34 Waveform Commands :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.
34 Waveform Commands :WAVeform:VIEW Command :WAVeform:VIEW {ALL | MAIN | WINDow} The :WAVeform:VIEW command selects which view of the waveform is selected for data and preamble queries. You can set the command to ALL, MAIN, or WINDow. The view has different meanings depending upon the waveform source selected. The default setting for this command is ALL. 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.
Waveform Commands Example 34 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.
34 Waveform Commands :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. NOTE Returned Format A "Waveform data is not valid" error occurs when there is no data available for a channel.
34 Waveform Commands :WAVeform:XINCrement? Query :WAVeform:XINCrement? The :WAVeform:XINCrement? query returns the duration between consecutive data points for the currently specified waveform source. For time domain waveforms, this is the time difference between consecutive data points. For VERSus type waveforms, this is the duration between levels on the X axis. For voltage waveforms, this is the voltage corresponding to one level.
34 Waveform Commands :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.
Waveform Commands 34 :WAVeform:XRANge? Query :WAVeform:XRANge? The :WAVeform:XRANge? query returns the X- axis duration of the displayed waveform. For time domain waveforms, it is the duration of the time across the display. For VERSus type waveforms, it is the duration of the waveform that is displayed on the X axis. NOTE Returned Format A "Waveform data is not valid" error occurs when there is no data available for a channel. When this occurs, a zero value is returned.
34 Waveform Commands :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.
Waveform Commands 34 :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.
34 Waveform Commands :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. NOTE Returned Format A "Waveform data is not valid" error occurs when there is no data available for a channel. When this occurs, a zero value is returned. [:WAVeform:YDISplay] A real number representing the Y- axis value at the center of the display.
34 Waveform Commands :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.
34 Waveform Commands :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.
34 Waveform Commands :WAVeform:YRANge? Query :WAVeform:YRANge? The :WAVeform:YRANge? query returns the Y- axis duration of the displayed waveform. For voltage waveforms, it is the voltage across the entire display. NOTE Returned Format A "Waveform data is not valid" error occurs when there is no data available for a channel. When this occurs, a zero value is returned. [:WAVeform:YRANge] A real number representing the Y- axis duration of the displayed waveform.
34 Waveform Commands :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.
Waveform Commands 34 :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.
34 Waveform Commands 1144 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 35 Waveform Memory Commands :WMEMory:CLEar 1146 :WMEMory:DISPlay 1147 :WMEMory:LOAD 1148 :WMEMory:SAVE 1149 :WMEMory:XOFFset 1150 :WMEMory:XRANge 1151 :WMEMory:YOFFset 1152 :WMEMory:YRANge 1153 The Waveform Memory Subsystem commands let you save and display waveforms, memories, and functions.
35 Waveform Memory Commands :WMEMory:CLEar Command :WMEMory:CLEar The :WMEMory:CLEar clears the associated wave memory. Example The memory number is an integer from 1 to 4. This example clears the waveform memory 1. myScope.
35 Waveform Memory Commands :WMEMory:DISPlay Command :WMEMory:DISPlay {{ON | 1} | {OFF | 0}} The :WMEMory:DISPlay command enables or disables the viewing of the selected waveform memory. Example The memory number is an integer from 1 to 4. This example turns on the waveform memory 1 display. myScope.WriteString ":WMEMORY1:DISPLAY ON" Query :WMEMory:DISPlay? The :WMEMory:DISPlay? query returns the state of the selected waveform memory.
35 Waveform Memory Commands :WMEMory:LOAD Command :WMEMory:LOAD The :WMEMory:LOAD command loads an oscilloscope waveform memory location with a waveform from a file that has an internal waveform format (extension .wfm), comma separated xypairs, (extension .csv), tab separated xypairs (extension .tsv), and yvalues text (extension .txt). You can load the file from either the c: or a: drive, or any lan connected drive. See the examples below.
35 Waveform Memory Commands :WMEMory:SAVE Command :WMEMory:SAVE {CHANnel | COMMonmode | DIFFerential
| CLOCk | FUNCtion | MTRend | MSPectrum | WMEMory} The :WMEMory:SAVE command stores the specified channel, waveform memory, or function to the waveform memory. You can save waveforms to waveform memories regardless of whether the waveform memory is displayed or not. The :WAVeform:VIEW command determines the view of the data being saved. CHANnel is an integer, 1- 4.
35 Waveform Memory Commands :WMEMory:XOFFset Command :WMEMory:XOFFset The :WMEMory:XOFFset command sets thex- axis, horizontal position for the selected waveform memory's display scale. The position is referenced to center screen. Example The memory number is an integer from 1 to 4. A real number for the horizontal offset (position) value. This example sets the X- axis, horizontal position for waveform memory 3 to 0.1 seconds (100 ms). myScope.
Waveform Memory Commands 35 :WMEMory:XRANge Command :WMEMory:XRANge The :WMEMory:XRANge command sets theX- axis, horizontal range for the selected waveform memory's display scale. The horizontal scale is the horizontal range divided by 10. Example The memory number is an integer from 1 to 4. A real number for the horizontal range value. This example sets the X- axis, horizontal range of waveform memory 2 to 435 microseconds. myScope.
35 Waveform Memory Commands :WMEMory:YOFFset Command :WMEMory:YOFFset The :WMEMory:YOFFset command sets the Y- axis (vertical axis) offset for the selected waveform memory. Example The memory number is an integer from 1 to 4. A real number for the vertical offset value. This example sets the Y- axis (vertical) offset of waveform memory 2 to 0.2V. myScope.WriteString ":WMEMORY2:YOFFSET 0.
35 Waveform Memory Commands :WMEMory:YRANge Command :WMEMory:YRANge The :WMEMory:YRANge command sets the Y- axis, vertical range for the selected memory. The vertical scale is the vertical range divided by 8. Example The memory number is an integer from 1 to 4. A real number for the vertical range value. This example sets the Y- axis (vertical) range of waveform memory 3 to 0.2 volts. myScope.WriteString ":WMEMORY3:YRANGE 0.
35 Waveform Memory Commands 1154 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 36 Obsolete and Discontinued Commands Obsolete commands are deprecated, older forms of commands that still work but have been replaced by newer commands.
36 Obsolete and Discontinued Commands :MEASure:CLOCk:METHod (deprecated) Command NOTE Some of these command options have been deprecated — options for specifying clock recovery PLL options have been moved to the new commands ":MEASure:CLOCk:METHod:JTF" on page 513 and ":MEASure:CLOCk:METHod:OJTF" on page 515. See also ":MEASure:CLOCk:METHod" on page 507.
36 Obsolete and Discontinued Commands The EQUalized clock recovery methods are only available if the oscilloscope has the High Speed Serial option and the Serial Data Equalization option installed and the features are enabled. {CHANnel | FUNCtion | WMEMory} CHANnel is an integer, 1- 4. FUNCtion and WMEMory are: An integer, 1- 4, representing the selected function or waveform memory. A real number for the base data rate in Hertz.
36 Obsolete and Discontinued Commands myScope.WriteString ":SYSTem:HEADer OFF" myScope.WriteString ":MEASURE:CLOCK:METHOD?" strSetting = myScope.ReadString Debug.
Obsolete and Discontinued Commands 36 :MEASure:DDPWS (Data Dependent Pulse Width Shrinkage) Command NOTE This command is deprecated. In its place, use the query ":MEASure:RJDJ:ALL?" on page 629 which returns all of the RJDJ jitter measurements. NOTE This command is only available when the E2681A Jitter Analysis Software or the N5400A/N5401A Software is installed. :MEASure:DDPWS The :MEASure:DDPWS command measures the data dependent pulse width shrinkage for the selected source.
36 Obsolete and Discontinued Commands myScope.WriteString ":SYSTEM:HEADER OFF" ' Response headers off. myScope.WriteString ":MEASURE:DDPWS? CHANNEL1" varValue = myScope.ReadNumber Debug.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 37 Error Messages Error Queue 1162 Error Numbers 1163 Command Error 1164 Execution Error 1165 Device- or Oscilloscope-Specific Error 1166 Query Error 1167 List of Error Messages 1168 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.
37 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." Anytime 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).
Error Messages 37 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.
37 Error Messages Command Error 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.
Error Messages 37 Execution Error 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.
37 Error Messages Device- or Oscilloscope-Specific Error An error number in the range of - 300 to - 399 or +1 to +32767 indicates that the instrument has detected an error caused by an oscilloscope operation that did not properly complete. This may be due to an abnormal hardware or firmware condition. For example, this error may be generated by a self- test response error, or a full error queue.
Error Messages 37 Query Error 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.
37 Error Messages List of Error Messages Table 26 a list of the error messages that are returned by the parser on this oscilloscope. Table 26 Error Messages 0 No error The error queue is empty. Every error in the queue has been read (SYSTEM:ERROR? query) or the queue was cleared by power-up or *CLS. -100 Command error This is the generic syntax error used if the oscilloscope cannot detect more specific errors.
37 Error Messages Table 26 Error Messages (continued) -148 Character data not allowed A legal character data element was encountered where prohibited by the oscilloscope. -150 String data error This error can be generated when parsing a string data element. This particular error message is used if the oscilloscope cannot detect a more specific error. -151 Invalid string data A string data element was expected, but was invalid for some reason.
37 Error Messages Table 26 Error Messages (continued) -231 Data questionable -240 Hardware error -241 Hardware missing -250 Mass storage error -251 Missing mass storage -252 Missing media -253 Corrupt media -254 Media full -255 Directory full -256 File name not found -257 File name error -258 Media protected -260 Expression error -261 Math error in expression -300 Device specific error -310 System error -311 Memory error -312 PUD memory error -313 Calibration memory los
Error Messages 37 Table 26 Error Messages (continued) -374 The requested self test log file could not be found -375 Attenuator relay actuation counts can only be modified during factory service -400 Query error -410 Query INTERRUPTED -420 Query UNTERMINATED -430 Query DEADLOCKED -440 Query UNTERMINATED after indefinite response This is the generic query error.
37 Error Messages 1172 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 38 Sample Programs VISA COM Examples 1174 VISA Examples 1213 SICL Examples 1264 SCPI.NET Examples 1283 Example programs are ASCII text files that can be cut from the help file and pasted into your favorite text editor.
38 Sample Programs VISA COM Examples • "VISA COM Example in Visual Basic" on page 1174 • "VISA COM Example in C#" on page 1185 • "VISA COM Example in Visual Basic .NET" on page 1195 • "VISA COM Example in Python" on page 1205 VISA COM Example in Visual Basic To run this example in Visual Basic for Applications (VBA): 1 Start the application that provides Visual Basic for Applications (for example, Microsoft Excel). 2 Press ALT+F11 to launch the Visual Basic editor.
38 Sample Programs Sub Main() On Error GoTo VisaComError ' Create the VISA COM I/O resource. Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.FormattedIO488 Set myScope.IO = _ myMgr.Open("TCPIP0::130.29.71.191::inst0::INSTR") myScope.IO.Timeout = 15000 ' Set I/O communication timeout. myScope.IO.Clear ' Clear the interface. ' Initialize - start from a known state. Initialize ' Capture data. Capture ' Analyze the captured waveform.
38 Sample Programs ' Capture the waveform. ' ------------------------------------------------------------------Private Sub Capture() On Error GoTo VisaComError ' Set probe attenuation factor. DoCommand ":CHANnel1:PROBe 1.0" Debug.Print "Channel 1 probe attenuation factor: " + _ DoQueryString(":CHANnel1:PROBe?") ' Use auto-scale to automatically set up oscilloscope. ' ----------------------------------------------------------------Debug.Print "Autoscale." DoCommand ":AUToscale" ' Set trigger mode.
38 Sample Programs DoCommand ":CHANnel1:OFFSet 0.0" Debug.Print "Channel 1 vertical offset: " + _ DoQueryString(":CHANnel1:OFFSet?") ' Set horizontal scale and offset. DoCommand ":TIMebase:SCALe 200E-6" Debug.Print "Timebase scale: " + _ DoQueryString(":TIMebase:SCALe?") DoCommand ":TIMebase:POSition 0.0" Debug.Print "Timebase position: " + _ DoQueryString(":TIMebase:POSition?") ' Set the acquisition mode. DoCommand ":ACQuire:MODE RTIMe" Debug.
38 Sample Programs DoCommand ":MEASure:FREQuency" varQueryResult = DoQueryNumber(":MEASure:FREQuency?") MsgBox "Frequency:" + vbCrLf + _ FormatNumber(varQueryResult / 1000, 4) + " kHz" DoCommand ":MEASure:VAMPlitude" varQueryResult = DoQueryNumber(":MEASure:VAMPlitude?") MsgBox "Vertical amplitude:" + vbCrLf + _ FormatNumber(varQueryResult, 4) + " V" ' Download the screen image. ' ----------------------------------------------------------------' Get screen image.
Sample Programs Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim 38 intFormat As Integer intType As Integer lngPoints As Long lngCount As Long dblXIncrement As Double dblXOrigin As Double lngXReference As Long sngYIncrement As Single sngYOrigin As Single lngYReference As Long intCoupling As Integer dblXDispRange As Double dblXDispOrigin As Double dblYDispRange As Double dblYDispOrigin As Double strDate As String strTime As String strFrameModel As String intA
38 Sample Programs dctUnits.Add dctUnits.Add dctUnits.Add dctUnits.Add dctUnits.Add dctUnits.
Sample Programs 38 Debug.Print "Waveform Y reference: " + _ FormatNumber(lngYReference, 0) Debug.Print "Coupling: " + dctCoupling.Item(intCoupling) Debug.Print "Waveform X display range: " + _ Format(dblXDispRange, "Scientific") Debug.Print "Waveform X display origin: " + _ Format(dblXDispOrigin, "Scientific") Debug.Print "Waveform Y display range: " + _ Format(dblYDispRange, "Scientific") Debug.Print "Waveform Y display origin: " + _ Format(dblYDispOrigin, "Scientific") Debug.Print Debug.Print Debug.
38 Sample Programs ", " + _ FormatNumber((lngDataValue * sngYIncrement) + sngYOrigin) Next lngI ' Close output file. Close hFile ' Close file. MsgBox "Waveform format WORD data written to " + _ "c:\scope\data\waveform_data.csv." Exit Sub VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description End End Sub Private Sub DoCommand(command As String) On Error GoTo VisaComError myScope.WriteString command CheckInstrumentErrors Exit Sub VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.
Sample Programs 38 myScope.WriteString query DoQueryString = myScope.ReadString CheckInstrumentErrors Exit Function VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _ Err.Source + ", " + _ Err.Description, vbExclamation, "VISA COM Error" End End Function Private Function DoQueryNumber(query As String) As Variant On Error GoTo VisaComError myScope.WriteString query DoQueryNumber = myScope.
38 Sample Programs myScope.WriteString query DoQueryIEEEBlock_UI1 = myScope.ReadIEEEBlock(BinaryType_UI1) CheckInstrumentErrors Exit Function VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _ Err.Source + ", " + _ Err.Description, vbExclamation, "VISA COM Error" End End Function Private Function DoQueryIEEEBlock_I2(query As String) As Variant On Error GoTo VisaComError myScope.WriteString query DoQueryIEEEBlock_I2 = myScope.
38 Sample Programs MsgBox "VISA COM Error: " + vbCrLf + Err.Description End Sub VISA COM Example in C# To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio. 2 Create a new Visual C#, Windows, Console Application project. 3 Cut- and- paste the code that follows into the C# source file. 4 Edit the program to use the VISA address of your oscilloscope. 5 Add a reference to the VISA COM 3.
38 Sample Programs VisaComInstrument("TCPIP0::130.29.71.191::inst0::INSTR"); myScope.SetTimeoutSeconds(10); // Initialize - start from a known state. Initialize(); // Capture data. Capture(); // Analyze the captured waveform. Analyze(); Console.WriteLine("Press any key to exit"); Console.ReadKey(); } catch (System.ApplicationException err) { Console.WriteLine("*** VISA COM Error : " + err.Message); } catch (System.SystemException err) { Console.WriteLine("*** System Error Message : " + err.
Sample Programs 38 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?")); // Use auto-scale to automatically set up oscilloscope. myScope.DoCommand(":AUToscale"); // Set trigger mode. myScope.DoCommand(":TRIGger:MODE EDGE"); Console.WriteLine("Trigger mode: {0}", myScope.DoQueryString(":TRIGger:MODE?")); // Set EDGE trigger parameters. myScope.
38 Sample Programs Console.WriteLine("Timebase scale: {0}", myScope.DoQueryString(":TIMebase:SCALe?")); myScope.DoCommand(":TIMebase:POSition 0.0"); Console.WriteLine("Timebase position: {0}", myScope.DoQueryString(":TIMebase:POSition?")); // Set the acquisition mode. myScope.DoCommand(":ACQuire:MODE RTIMe"); Console.WriteLine("Acquire mode: {0}", myScope.DoQueryString(":ACQuire:MODE?")); // Or, configure by loading a previously saved setup.
Sample Programs 38 // ----------------------------------------------------------// Get the screen data. ResultsArray = myScope.DoQueryIEEEBlock_UI1(":DISPlay:DATA? PNG"); nLength = ResultsArray.Length; // Store the screen data to a file. strPath = "c:\\scope\\data\\screen.png"; FileStream fStream = File.Open(strPath, FileMode.Create); fStream.Write(ResultsArray, 0, nLength); fStream.Close(); Console.WriteLine("Screen image ({0} bytes) written to {1}", nLength, strPath); // Download waveform data.
38 Sample Programs new Dictionary() { {"0", "RTIMe"}, {"1", "ETIMe"}, {"3", "PDETect"}, }; Dictionary dctCoupling = new Dictionary() { {"0", "AC"}, {"1", "DC"}, {"2", "DCFIFTY"}, {"3", "LFREJECT"}, }; Dictionary dctUnits = new Dictionary() { {"0", "UNKNOWN"}, {"1", "VOLT"}, {"2", "SECOND"}, {"3", "CONSTANT"}, {"4", "AMP"}, {"5", "DECIBEL"}, }; string strPreamble; string[] strsPreamble; strPreamble = myScope.
38 Sample Programs dctAcqMode[strsPreamble[18]]); Console.WriteLine("Completion pct: {0}", strsPreamble[19]); Console.WriteLine("Waveform X inits: {0}", dctUnits[strsPreamble[20]]); Console.WriteLine("Waveform Y units: {0}", dctUnits[strsPreamble[21]]); Console.WriteLine("Max BW limit: {0}", strsPreamble[22]); Console.WriteLine("Min BW limit: {0}", strsPreamble[23]); // Get numeric values for later calculations. double fXincrement; fXincrement = myScope.
38 Sample Programs m_strVisaAddress = strVisaAddress; // Open the default VISA COM IO object. OpenIo(); // Clear the interface. m_IoObject.IO.Clear(); } public void DoCommand(string strCommand) { // Send the command. m_IoObject.WriteString(strCommand, true); // Check for inst errors. CheckInstrumentErrors(strCommand); } public void DoCommandIEEEBlock(string strCommand, byte[] DataArray) { // Send the command to the device. m_IoObject.WriteIEEEBlock(strCommand, DataArray, true); // Check for inst errors.
Sample Programs 38 // Return result number. return fResult; } public double[] DoQueryNumbers(string strQuery) { // Send the query. m_IoObject.WriteString(strQuery, true); // Get the result numbers. double[] fResultsArray; fResultsArray = (double[])m_IoObject.ReadList( IEEEASCIIType.ASCIIType_R8, ",;"); // Check for inst errors. CheckInstrumentErrors(strQuery); // Return result numbers. return fResultsArray; } public byte[] DoQueryIEEEBlock_UI1(string strQuery) { // Send the query. m_IoObject.
38 Sample Programs private void CheckInstrumentErrors(string strCommand) { // Check for instrument errors. string strInstrumentError; bool bFirstError = true; do // While not "0,No error". { m_IoObject.WriteString(":SYSTem:ERRor? STRing", true); strInstrumentError = m_IoObject.ReadString(); if (!strInstrumentError.ToString().StartsWith("0,")) { if (bFirstError) { Console.WriteLine("ERROR(s) for command '{0}': ", strCommand); bFirstError = false; } Console.
38 Sample Programs Marshal.ReleaseComObject(m_IoObject); } catch { } try { Marshal.ReleaseComObject(m_ResourceManager); } catch { } } } } VISA COM Example in Visual Basic .NET To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio. 2 Create a new Visual Basic, Windows, Console Application project. 3 Cut- and- paste the code that follows into the C# source file. 4 Edit the program to use the VISA address of your oscilloscope. 5 Add a reference to the VISA COM 3.
38 Sample Programs Imports System.Runtime.InteropServices Namespace Infiniium Class VisaComInstrumentApp Private Shared myScope As VisaComInstrument Public Shared Sub Main(ByVal args As String()) Try myScope = New _ VisaComInstrument("TCPIP0::130.29.71.191::inst0::INSTR") myScope.SetTimeoutSeconds(10) ' Initialize - start from a known state. Initialize() ' Capture data. Capture() ' Analyze the captured waveform. Analyze() Catch err As System.ApplicationException Console.
Sample Programs 38 myScope.DoCommand(":CHANnel1:PROBe 1.0") Console.WriteLine("Channel 1 probe attenuation factor: {0}", _ myScope.DoQueryString(":CHANnel1:PROBe?")) ' Use auto-scale to automatically configure oscilloscope. myScope.DoCommand(":AUToscale") ' Set trigger mode. myScope.DoCommand(":TRIGger:MODE EDGE") Console.WriteLine("Trigger mode: {0}", _ myScope.DoQueryString(":TRIGger:MODE?")) ' Set EDGE trigger parameters. myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1") Console.
38 Sample Programs myScope.DoCommand(":TIMebase:POSition 0.0") Console.WriteLine("Timebase position: {0}", _ myScope.DoQueryString(":TIMebase:POSition?")) ' Set the acquisition mode. myScope.DoCommand(":ACQuire:MODE RTIMe") Console.WriteLine("Acquire mode: {0}", _ myScope.DoQueryString(":ACQuire:MODE?")) ' Or, configure by loading a previously saved setup. Dim DataArray As Byte() Dim nBytesWritten As Integer ' Read setup string from file. strPath = "c:\scope\config\setup.stp" DataArray = File.
Sample Programs 38 ' Get the screen data. ResultsArray = myScope.DoQueryIEEEBlock_UI1(":DISPlay:DATA? PNG") nLength = ResultsArray.Length ' Store the screen data to a file. strPath = "c:\scope\data\screen.png" Dim fStream As FileStream fStream = File.Open(strPath, FileMode.Create) fStream.Write(ResultsArray, 0, nLength) fStream.Close() Console.WriteLine("Screen image ({0} bytes) written to {1}", _ nLength, strPath) ' Download waveform data.
38 Sample Programs dctCoupling.Add("1", "DC") dctCoupling.Add("2", "DCFIFTY") dctCoupling.Add("3", "LFREJECT") Dim dctUnits As New Dictionary(Of String, String)() dctUnits.Add("0", "UNKNOWN") dctUnits.Add("1", "VOLT") dctUnits.Add("2", "SECOND") dctUnits.Add("3", "CONSTANT") dctUnits.Add("4", "AMP") dctUnits.Add("5", "DECIBEL") Dim strPreamble As String Dim strsPreamble As String() strPreamble = myScope.DoQueryString(":WAVeform:PREamble?") strsPreamble = strPreamble.Split(","c) Console.
38 Sample Programs Dim fXorigin As Double fXorigin = myScope.DoQueryNumber(":WAVeform:XORigin?") Dim fYincrement As Double fYincrement = myScope.DoQueryNumber(":WAVeform:YINCrement?") Dim fYorigin As Double fYorigin = myScope.DoQueryNumber(":WAVeform:YORigin?") ' Get the waveform data. myScope.DoCommand(":WAVeform:STReaming OFF") Dim WordDataArray As Short() WordDataArray = myScope.DoQueryIEEEBlock_I2(":WAVeform:DATA?") nLength = WordDataArray.Length Console.
38 Sample Programs End Sub Public Sub DoCommand(ByVal strCommand As String) ' Send the command. m_IoObject.WriteString(strCommand, True) ' Check for inst errors. CheckInstrumentErrors(strCommand) End Sub Public Sub DoCommandIEEEBlock(ByVal strCommand As String, _ ByVal DataArray As Byte()) ' Send the command to the device. m_IoObject.WriteIEEEBlock(strCommand, DataArray, True) ' Check for inst errors.
38 Sample Programs m_IoObject.WriteString(strQuery, True) ' Get the result numbers. Dim fResultsArray As Double() fResultsArray = _ m_IoObject.ReadList(IEEEASCIIType.ASCIIType_R8, ",;") ' Check for inst errors. CheckInstrumentErrors(strQuery) ' Return result numbers. Return fResultsArray End Function Public _ Function _ DoQueryIEEEBlock_UI1(ByVal strQuery As String) As Byte() ' Send the query. m_IoObject.WriteString(strQuery, True) ' Get the results array. System.Threading.Thread.
38 Sample Programs Dim bFirstError As Boolean = True Do ' While not "0,No error". m_IoObject.WriteString(":SYSTem:ERRor? STRing", True) strInstrumentError = m_IoObject.ReadString() If Not strInstrumentError.ToString().StartsWith("0,") Then If bFirstError Then Console.WriteLine("ERROR(s) for command '{0}': ", _ strCommand) bFirstError = False End If Console.Write(strInstrumentError) End If Loop While Not strInstrumentError.ToString().
38 Sample Programs VISA COM Example in Python You can use the Python programming language with the "comtypes" package to control Agilent oscilloscopes. The Python language and "comtypes" package can be downloaded from the web at "http://www.python.org/" and "http://starship.python.net/crew/theller/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.
38 Sample Programs # Clear status and load the default setup. do_command("*CLS") do_command("*RST") # ========================================================= # Capture: # ========================================================= def capture(): # Set probe attenuation factor. do_command(":CHANnel1:PROBe 1.0") qresult = do_query_string(":CHANnel1:PROBe?") print "Channel 1 probe attenuation factor: %s" % qresult # Use auto-scale to automatically set up oscilloscope. print "Autoscale.
38 Sample Programs # Set horizontal scale and offset. do_command(":TIMebase:SCALe 200e-6") qresult = do_query_string(":TIMebase:SCALe?") print "Timebase scale: %s" % qresult do_command(":TIMebase:POSition 0.0") qresult = do_query_string(":TIMebase:POSition?") print "Timebase position: %s" % qresult # Set the acquisition mode. do_command(":ACQuire:MODE RTIMe") qresult = do_query_string(":ACQuire:MODE?") print "Acquire mode: %s" % qresult # Or, configure by loading a previously saved setup. f = open("setup.
38 Sample Programs # Get the waveform type. qresult = do_query_string(":WAVeform:TYPE?") print "Waveform type: %s" % qresult # Get the number of waveform points. qresult = do_query_string(":WAVeform:POINts?") print "Waveform points: %s" % qresult # Set the waveform source.
Sample Programs 38 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 ) = string.
38 Sample Programs # ========================================================= # Send a command and check for errors: # ========================================================= def do_command(command): myScope.WriteString("%s" % command, True) check_instrument_errors(command) # ========================================================= # Send a command and check for errors: # ========================================================= def do_command_ieee_block(command, data): myScope.
Sample Programs 38 # ========================================================= # Send a query, check for errors, return values: # ========================================================= def do_query_numbers(query): myScope.WriteString("%s" % query, True) result = myScope.ReadList(VisaComLib.
38 Sample Programs initialize() capture() analyze() print "End of program" 1212 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference
38 Sample Programs VISA Examples • "VISA Example in C" on page 1213 • "VISA Example in Visual Basic" on page 1222 • "VISA Example in C#" on page 1232 • "VISA Example in Visual Basic .NET" on page 1244 • "VISA Example in Python" on page 1256 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.
38 Sample Programs * -----------------------------------------------------------------* This program illustrates a few commonly-used programming * features of your Agilent Infiniium Series oscilloscope. */ #include #include #include #include /* /* /* /* For printf(). */ For strcpy(), strcat(). */ For clock(). */ Agilent VISA routines. */ #define VISA_ADDRESS "TCPIP0::130.29.71.
38 Sample Programs if (err != VI_SUCCESS) error_handler(); /* Initialize - start from a known state. */ initialize(); /* Capture data. */ capture(); /* Analyze the captured waveform. */ analyze(); /* Close the vi session and the resource manager session. */ viClose(vi); viClose(defaultRM); } /* Initialize the oscilloscope to a known state. * --------------------------------------------------------------- */ void initialize (void) { /* Clear status.
38 Sample Programs 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); /* Save oscilloscope setup. */ /* Read system setup. */ num_values = do_query_ieeeblock(":SYSTem:SETup?"); printf("Read setup string query (%d bytes).\n", num_values); /* Write setup string to file. */ fp = fopen ("c:\\scope\\config\\setup.
38 Sample Programs num_values = do_command_ieeeblock(":SYSTem:SETup", num_values); printf("Restored setup string (%d bytes).\n", num_values); /* Set the desired number of waveform points, * and capture an acquisition. */ do_command(":ACQuire:POINts 32000"); do_command(":DIGitize"); } /* Analyze the captured waveform.
38 Sample Programs /* Get the waveform type. */ do_query_string(":WAVeform:TYPE?"); printf("Waveform type: %s\n", str_result); /* Get the number of waveform points. */ do_query_string(":WAVeform:POINts?"); printf("Waveform points: %s\n", str_result); /* Set the waveform source.
38 Sample Programs /* Send a command to the instrument. * --------------------------------------------------------------- */ void do_command(command) char *command; { char message[80]; strcpy(message, command); strcat(message, "\n"); err = viPrintf(vi, message); if (err != VI_SUCCESS) error_handler(); check_instrument_errors(); } /* Command with IEEE definite-length block.
38 Sample Programs /* Query for a number result. * --------------------------------------------------------------- */ void do_query_number(query) char *query; { char message[80]; strcpy(message, query); strcat(message, "\n"); err = viPrintf(vi, message); if (err != VI_SUCCESS) error_handler(); err = viScanf(vi, "%lf", &num_result); if (err != VI_SUCCESS) error_handler(); check_instrument_errors(); } /* Query for numbers result.
38 Sample Programs printf("IEEE block buffer full: "); printf("May not have received all data.\n"); } check_instrument_errors(); return(data_length); } /* Query for an IEEE definite-length word block result.
38 Sample Programs err = viFlush(vi, VI_READ_BUF); if (err != VI_SUCCESS) error_handler(); err = viFlush(vi, VI_WRITE_BUF); if (err != VI_SUCCESS) error_handler(); } } /* Handle VISA errors.
38 Sample Programs Public vi As Long ' Session to instrument. ' Declare variables to hold numeric values returned by ' viVScanf/viVQueryf.
38 Sample Programs End Sub ' ' Initialize the oscilloscope to a known state. ' ------------------------------------------------------------------Private Sub Initialize() ' Clear status. DoCommand "*CLS" ' Get and display the device's *IDN? string. strQueryResult = DoQueryString("*IDN?") MsgBox "*IDN? string: " + strQueryResult, vbOKOnly, "*IDN? Result" ' Load the default setup. DoCommand "*RST" End Sub ' ' Capture the waveform.
38 Sample Programs Debug.Print "Setup bytes saved: " + CStr(lngSetupStringSize) ' Output setup string to a file: Dim strPath As String strPath = "c:\scope\config\setup.dat" If Len(Dir(strPath)) Then Kill strPath ' Remove file if it exists. End If ' Open file for output. Dim hFile As Long hFile = FreeFile Open strPath For Binary Access Write Lock Write As hFile Dim lngI As Long For lngI = 0 To lngSetupStringSize - 1 Put hFile, , byteArray(lngI) ' Write data. Next lngI Close hFile ' Close file.
38 Sample Programs Debug.Print "Setup bytes restored: " + CStr(lngRestored) ' Set the desired number of waveform points, ' and capture an acquisition. ' ----------------------------------------------------------------DoCommand ":ACQuire:POINts 32000" DoCommand ":DIGitize" End Sub ' ' Analyze the captured waveform. ' ------------------------------------------------------------------Private Sub Analyze() ' Make a couple of measurements.
38 Sample Programs ' Download waveform data. ' ----------------------------------------------------------------' Get the waveform type. Debug.Print "Waveform type: " + _ DoQueryString(":WAVeform:TYPE?") ' Get the number of waveform points. Debug.Print "Waveform points: " + _ DoQueryString(":WAVeform:POINts?") ' Set the waveform source. DoCommand ":WAVeform:SOURce CHANnel1" Debug.
38 Sample Programs For lngI = 0 To lngNumWords - 1 ' Write time value, voltage value. Print #hFile, _ FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _ ", " + _ FormatNumber((wordArray(lngI) * dblYIncrement) + dblYOrigin) Next lngI ' Close output file. Close hFile ' Close file. MsgBox "Waveform format WORD data written to " + _ "c:\scope\data\waveform_data.csv.
Sample Programs 38 End Function Private Function DoQueryNumber(query As String) As Variant Dim dblResult As Double err = viVPrintf(vi, query + vbLf, 0) If (err <> VI_SUCCESS) Then HandleVISAError vi err = viVScanf(vi, "%lf" + vbLf, VarPtr(dblResult)) If (err <> VI_SUCCESS) Then HandleVISAError vi DoQueryNumber = dblResult CheckInstrumentErrors End Function Private Function DoQueryNumbers(query As String) As Long Dim dblResult As Double ' Send query.
38 Sample Programs ' Get unsigned integer bytes. err = viVScanf(vi, "%#b" + vbLf, paramsArray(0)) If (err <> VI_SUCCESS) Then HandleVISAError vi err = viFlush(vi, VI_READ_BUF) If (err <> VI_SUCCESS) Then HandleVISAError vi err = viFlush(vi, VI_WRITE_BUF) If (err <> VI_SUCCESS) Then HandleVISAError vi ' retCount is now actual number of bytes returned by query. DoQueryIEEEBlock_Bytes = retCount CheckInstrumentErrors End Function Private Function DoQueryIEEEBlock_Words(query As String) As Long ' Send query.
38 Sample Programs If (err <> VI_SUCCESS) Then HandleVISAError vi err = viVScanf(vi, "%t", strErrVal) ' Read: Errnum,"Error String". If (err <> VI_SUCCESS) Then HandleVISAError vi While Val(strErrVal) <> 0 ' End if find: 0,"No Error". strOut = strOut + "INST Error: " + strErrVal err = viVPrintf(vi, ":SYSTem:ERRor? STRing" + vbLf, 0) ' Request err or. If (err <> VI_SUCCESS) Then HandleVISAError vi err = viVScanf(vi, "%t", strErrVal) ' Read error message.
38 Sample Programs 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 Agilent'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.
38 Sample Programs { myScope = new VisaInstrument("TCPIP0::130.29.71.191::inst0::INSTR"); myScope.SetTimeoutSeconds(10); // Initialize - start from a known state. Initialize(); // Capture data. Capture(); // Analyze the captured waveform. Analyze(); } catch (System.ApplicationException err) { Console.WriteLine("*** VISA Error Message : " + err.Message); } catch (System.SystemException err) { Console.WriteLine("*** System Error Message : " + err.Message); } catch (System.Exception err) { System.
38 Sample Programs 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?")); // Use auto-scale to automatically set up oscilloscope. myScope.DoCommand(":AUToscale"); // Set trigger mode. myScope.DoCommand(":TRIGger:MODE EDGE"); Console.WriteLine("Trigger mode: {0}", myScope.DoQueryString(":TRIGger:MODE?")); // Set EDGE trigger parameters. myScope.
38 Sample Programs Console.WriteLine("Timebase scale: {0}", myScope.DoQueryString(":TIMebase:SCALe?")); myScope.DoCommand(":TIMebase:POSition 0.0"); Console.WriteLine("Timebase position: {0}", myScope.DoQueryString(":TIMebase:POSition?")); // Set the acquisition mode. myScope.DoCommand(":ACQuire:MODE RTIMe"); Console.WriteLine("Acquire mode: {0}", myScope.DoQueryString(":ACQuire:MODE?")); // Or, set up by loading a previously saved setup.
38 Sample Programs // Download the screen image. // ----------------------------------------------------------// Get the screen data. nLength = myScope.DoQueryIEEEBlock_Bytes(":DISPlay:DATA? PNG", out ResultsArray); // Store the screen data to a file. strPath = "c:\\scope\\data\\screen.png"; FileStream fStream = File.Open(strPath, FileMode.Create); fStream.Write(ResultsArray, 0, nLength); fStream.Close(); Console.
Sample Programs 38 new Dictionary() { {"0", "RTIMe"}, {"1", "ETIMe"}, {"3", "PDETect"}, }; Dictionary dctCoupling = new Dictionary() { {"0", "AC"}, {"1", "DC"}, {"2", "DCFIFTY"}, {"3", "LFREJECT"}, }; Dictionary dctUnits = new Dictionary() { {"0", "UNKNOWN"}, {"1", "VOLT"}, {"2", "SECOND"}, {"3", "CONSTANT"}, {"4", "AMP"}, {"5", "DECIBEL"}, }; string strPreamble; string[] strsPreamble; strPreamble = myScope.
38 Sample Programs Console.WriteLine("Acquire mode: {0}", dctAcqMode[strsPreamble[18]]); Console.WriteLine("Completion pct: {0}", strsPreamble[19]); Console.WriteLine("Waveform X inits: {0}", dctUnits[strsPreamble[20]]); Console.WriteLine("Waveform Y units: {0}", dctUnits[strsPreamble[21]]); Console.WriteLine("Max BW limit: {0}", strsPreamble[22]); Console.WriteLine("Min BW limit: {0}", strsPreamble[23]); // Get numeric values for later calculations. double fXincrement; fXincrement = myScope.
Sample Programs 38 // Open the default VISA resource manager. OpenResourceManager(); // Open a VISA resource session. OpenSession(); // Clear the interface. int nViStatus; nViStatus = visa32.viClear(m_nSession); } public void DoCommand(string strCommand) { // Send the command. VisaSendCommandOrQuery(strCommand); // Check for inst errors. CheckInstrumentErrors(strCommand); } public int DoCommandIEEEBlock(string strCommand, byte[] DataArray) { // Send the command to the device.
38 Sample Programs // Check for inst errors. CheckInstrumentErrors(strQuery); // Return string results. return strResults; } public double DoQueryNumber(string strQuery) { // Send the query. VisaSendCommandOrQuery(strQuery); // Get the result string. double fResults; fResults = VisaGetResultNumber(); // Check for inst errors. CheckInstrumentErrors(strQuery); // Return string results. return fResults; } public double[] DoQueryNumbers(string strQuery) { // Send the query.
Sample Programs 38 out short[] ResultsArray) { // Send the query. VisaSendCommandOrQuery(strQuery); // Get the result string. int length; // Number of bytes returned from instrument. length = VisaGetResultIEEEBlock_Words(out ResultsArray); // Check for inst errors. CheckInstrumentErrors(strQuery); // Return string results. return length; } private void VisaSendCommandOrQuery(string strCommandOrQuery) { // Send command or query to the device. string strWithNewline; strWithNewline = String.
38 Sample Programs nViStatus = visa32.viScanf(m_nSession, "%,10lf\n", fResultsArray); CheckVisaStatus(nViStatus); return fResultsArray; } private int VisaGetResultIEEEBlock_Bytes(out byte[] ResultsArray) { // Results array, big enough to hold a PNG. ResultsArray = new byte[5000000]; int length; // Number of bytes returned from instrument. // Set the default number of bytes that will be contained in // the ResultsArray to 5,000,000. length = 5000000; // Read return value string from the device.
Sample Programs 38 } private void CheckInstrumentErrors(string strCommand) { // Check for instrument errors. StringBuilder strInstrumentError = new StringBuilder(1000); bool bFirstError = true; do // While not "0,No error" { VisaSendCommandOrQuery(":SYSTem:ERRor? STRing"); strInstrumentError = VisaGetResultString(); if (!strInstrumentError.ToString().StartsWith("0,")) { if (bFirstError) { Console.WriteLine("ERROR(s) for command '{0}': ", strCommand); bFirstError = false; } Console.
38 Sample Programs { StringBuilder strError = new StringBuilder(256); visa32.viStatusDesc(this.m_nResourceManager, nViStatus, strError); throw new ApplicationException(strError.ToString()); } } public void Close() { if (m_nSession != 0) visa32.viClose(m_nSession); if (m_nResourceManager != 0) visa32.viClose(m_nResourceManager); } } } VISA Example in Visual Basic .NET To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio.
38 Sample Programs ' ' ' ' ' ' Agilent VISA Example in Visual Basic .NET ------------------------------------------------------------------This program illustrates a few commonly-used programming features of your Agilent Infiniium Series oscilloscope. ------------------------------------------------------------------- Imports System Imports System.IO Imports System.
38 Sample Programs myScope.DoCommand("*RST") End Sub ' ' Capture the waveform. ' -------------------------------------------------------------Private Shared Sub Capture() ' Set probe attenuation factor. myScope.DoCommand(":CHANnel1:PROBe 1.0") Console.WriteLine("Channel 1 probe attenuation factor: {0}", _ myScope.DoQueryString(":CHANnel1:PROBe?")) ' Use auto-scale to automatically set up oscilloscope. myScope.DoCommand(":AUToscale") ' Set trigger mode. myScope.DoCommand(":TRIGger:MODE EDGE") Console.
38 Sample Programs Console.WriteLine("Channel 1 vertical scale: {0}", _ myScope.DoQueryString(":CHANnel1:SCALe?")) myScope.DoCommand(":CHANnel1:OFFSet 0.0") Console.WriteLine("Channel 1 vertical offset: {0}", _ myScope.DoQueryString(":CHANnel1:OFFSet?")) ' Set horizontal scale and position. myScope.DoCommand(":TIMebase:SCALe 0.0002") Console.WriteLine("Timebase scale: {0}", _ myScope.DoQueryString(":TIMebase:SCALe?")) myScope.DoCommand(":TIMebase:POSition 0.0") Console.
38 Sample Programs myScope.DoQueryString(":MEASure:SOURce?")) myScope.DoCommand(":MEASure:FREQuency") fResult = myScope.DoQueryNumber(":MEASure:FREQuency?") Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000) myScope.DoCommand(":MEASure:VAMPlitude") fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?") Console.WriteLine("Vertical amplitude: {0:F2} V", fResult) ' Download the screen image. ' -----------------------------------------------------------' Get the screen data. nLength = myScope.
Sample Programs 38 dctAcqType.Add("2", "AVERage") dctAcqType.Add("3", "VHIStogram") dctAcqType.Add("4", "HHIStogram") dctAcqType.Add("6", "INTerpolate") dctAcqType.Add("10", "PDETect") Dim dctAcqMode As New Dictionary(Of String, String)() dctAcqMode.Add("0", "RTIMe") dctAcqMode.Add("1", "ETIMe") dctAcqMode.Add("3", "PDETect") Dim dctCoupling As New Dictionary(Of String, String)() dctCoupling.Add("0", "AC") dctCoupling.Add("1", "DC") dctCoupling.Add("2", "DCFIFTY") dctCoupling.
38 Sample Programs Console.WriteLine("Frame model: {0}", strsPreamble(17)) Console.WriteLine("Acquire mode: {0}", _ dctAcqMode(strsPreamble(18))) Console.WriteLine("Completion pct: {0}", strsPreamble(19)) Console.WriteLine("Waveform X inits: {0}", _ dctUnits(strsPreamble(20))) Console.WriteLine("Waveform Y units: {0}", _ dctUnits(strsPreamble(21))) Console.WriteLine("Max BW limit: {0}", strsPreamble(22)) Console.WriteLine("Min BW limit: {0}", strsPreamble(23)) ' Get numeric values for later calculations.
38 Sample Programs Private m_nSession As Integer Private m_strVisaAddress As String ' Constructor. Public Sub New(ByVal strVisaAddress As String) ' Save VISA address in member variable. m_strVisaAddress = strVisaAddress ' Open the default VISA resource manager. OpenResourceManager() ' Open a VISA resource session. OpenSession() ' Clear the interface. Dim nViStatus As Integer nViStatus = visa32.viClear(m_nSession) End Sub Public Sub DoCommand(ByVal strCommand As String) ' Send the command.
38 Sample Programs As StringBuilder ' Send the query. VisaSendCommandOrQuery(strQuery) ' Get the result string. Dim strResults As New StringBuilder(1000) strResults = VisaGetResultString() ' Check for inst errors. CheckInstrumentErrors(strQuery) ' Return string results. Return strResults End Function Public Function DoQueryNumber(ByVal strQuery As String) As Double ' Send the query. VisaSendCommandOrQuery(strQuery) ' Get the result string.
38 Sample Programs CheckInstrumentErrors(strQuery) ' Return string results. Return length End Function Public Function DoQueryIEEEBlock_Words(ByVal strQuery As String, _ ByRef ResultsArray As Short()) As Integer ' Send the query. VisaSendCommandOrQuery(strQuery) ' Get the result string. Dim length As Integer ' Number of bytes returned from instrument. length = VisaGetResultIEEEBlock_Words(ResultsArray) ' Check for inst errors. CheckInstrumentErrors(strQuery) ' Return string results.
38 Sample Programs Dim fResultsArray As Double() fResultsArray = New Double(9) {} ' Read return value string from the device. Dim nViStatus As Integer nViStatus = visa32.viScanf(m_nSession, _ "%,10lf" & Chr(10) & "", fResultsArray) CheckVisaStatus(nViStatus) Return fResultsArray End Function Private Function VisaGetResultIEEEBlock_Bytes(ByRef ResultsArray _ As Byte()) As Integer ' Results array, big enough to hold a PNG.
Sample Programs 38 nViStatus = visa32.viFlush(m_nSession, visa32.VI_READ_BUF) CheckVisaStatus(nViStatus) Return length End Function Private Sub CheckInstrumentErrors(ByVal strCommand As String) ' Check for instrument errors. Dim strInstrumentError As New StringBuilder(1000) Dim bFirstError As Boolean = True Do ' While not "0,No error" VisaSendCommandOrQuery(":SYSTem:ERRor? STRing") strInstrumentError = VisaGetResultString() If Not strInstrumentError.ToString().
38 Sample Programs End Sub Public Sub Close() If m_nSession <> 0 Then visa32.viClose(m_nSession) End If If m_nResourceManager <> 0 Then visa32.viClose(m_nResourceManager) End If End Sub End Class End Namespace VISA Example in Python You can use the Python programming language with the PyVISA package to control Agilent Infiniium Series oscilloscopes. The Python language and PyVISA package can be downloaded from the web at "http://www.python.org/" and "http://pyvisa.sourceforge.net/", respectively.
Sample Programs 38 do_command("*CLS") # Get and display the device's *IDN? string. idn_string = do_query_string("*IDN?") print "Identification string: '%s'" % idn_string # Load the default setup. do_command("*RST") # ========================================================= # Capture: # ========================================================= def capture(): # Set probe attenuation factor. do_command(":CHANnel1:PROBe 1.
38 Sample Programs do_command(":CHANnel1:OFFSet 0.0") qresult = do_query_values(":CHANnel1:OFFSet?")[0] print "Channel 1 offset: %f" % qresult # Set horizontal scale and offset. do_command(":TIMebase:SCALe 200e-6") qresult = do_query_string(":TIMebase:SCALe?") print "Timebase scale: %s" % qresult do_command(":TIMebase:POSition 0.0") qresult = do_query_string(":TIMebase:POSition?") print "Timebase position: %s" % qresult # Set the acquisition mode.
Sample Programs 38 # Save display data values to file. f = open("screen_image.png", "wb") f.write(sDisplay) f.close() print "Screen image written to screen_image.png." # Download waveform data. # -------------------------------------------------------# Get the waveform type. qresult = do_query_string(":WAVeform:TYPE?") print "Waveform type: %s" % qresult # Get the number of waveform points. qresult = do_query_string(":WAVeform:POINts?") print "Waveform points: %s" % qresult # Set the waveform source.
38 Sample Programs 2 3 4 5 : : : : "SECOND", "CONSTANT", "AMP", "DECIBEL", } 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 ) = string.
Sample Programs 38 for i in xrange(0, len(values) - 1): time_val = x_origin + (i * x_increment) voltage = (values[i] * y_increment) + y_origin f.write("%E, %f\n" % (time_val, voltage)) f.close() print "Waveform format BYTE data written to waveform_data.csv." # ========================================================= # Send a command and check for errors: # ========================================================= def do_command(command, hide_params=False): if hide_params: (header, data) = string.
38 Sample Programs while True: error_string = Infiniium.ask(":SYSTem:ERRor? STRing\n") if error_string: # If there is an error string value. if error_string.find("0,", 0, 2) == -1: # Not "No error". print "ERROR: %s, command: '%s'" % (error_string, command) print "Exited because of error." sys.exit(1) else: break # "No error" else: # :SYSTem:ERRor? STRing should always return string. print "ERROR: :SYSTem:ERRor? STRing returned nothing, command: '%s'" % command print "Exited because of error." sys.
Sample Programs 38 print "End of program.
38 Sample Programs SICL Examples • "SICL Example in C" on page 1264 • "SICL Example in Visual Basic" on page 1273 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.
38 Sample Programs #include #include #include #include #define SICL_ADDRESS #define TIMEOUT #define IEEEBLOCK_SPACE /* Function prototypes */ void initialize(void); void capture(void); void analyze(void); /* /* /* /* For printf(). */ For strcpy(), strcat(). */ For clock(). */ Agilent SICL routines. */ "lan[130.29.71.191]:inst0" 15000 500000 /* Initialize to known state. */ /* Capture the waveform. */ /* Analyze the captured waveform.
38 Sample Programs /* Set the I/O timeout value for this session to 5 seconds. */ itimeout(id, TIMEOUT); /* Clear the interface. */ iclear(id); /* Initialize - start from a known state. */ initialize(); /* Capture data. */ capture(); /* Analyze the captured waveform. */ analyze(); /* Close the device session to the instrument. */ iclose(id); printf ("Program execution is complete...\n"); /* For WIN16 programs, call _siclcleanup before exiting to release * resources allocated by SICL for this application.
38 Sample Programs /* Set trigger mode. */ do_command(":TRIGger:MODE EDGE"); do_query_string(":TRIGger:MODE?"); printf("Trigger mode: %s\n", str_result); /* Set EDGE trigger parameters.
38 Sample Programs do_query_string(":ACQuire:MODE?"); printf("Acquire mode: %s\n", str_result); /* Or, configure by loading a previously saved setup. * ------------------------------------------------------------- */ /* Read setup string from file. */ fp = fopen ("c:\\scope\\config\\setup.stp", "rb"); num_values = fread (ieeeblock_data, sizeof(unsigned char), IEEEBLOCK_SPACE, fp); fclose (fp); printf("Read setup string (%d bytes) from file ", num_values); printf("c:\\scope\\config\\setup.stp.
38 Sample Programs /* Read screen image. */ num_values = do_query_ieeeblock(":DISPlay:DATA? PNG"); printf("Screen image bytes: %d\n", num_values); /* Write screen image bytes to file. */ fp = fopen ("c:\\scope\\data\\screen.png", "wb"); num_values = fwrite(ieeeblock_data, sizeof(unsigned char), num_values, fp); fclose (fp); printf("Wrote screen image (%d bytes) to ", num_values); printf("c:\\scope\\data\\screen.png.\n"); /* Download waveform data.
38 Sample Programs /* Output waveform data in CSV format. */ for (i = 0; i < num_values - 1; i++) { /* Write time value, voltage value. */ fprintf(fp, "%9f, %6f\n", x_origin + ((float)i * x_increment), ((float)ieeeblock_data_words[i] * y_increment) + y_origin); } /* Close output file. */ fclose(fp); printf("Waveform format WORD data written to "); printf("c:\\scope\\data\\waveform_data.csv.\n"); } /* Send a command to the instrument.
38 Sample Programs strcat(message, "\n"); iprintf(id, message); iscanf(id, "%t\n", str_result); check_instrument_errors(); } /* Query for a number result. * --------------------------------------------------------------- */ void do_query_number(query) char *query; { char message[80]; strcpy(message, query); strcat(message, "\n"); iprintf(id, message); iscanf(id, "%lf", &num_result); check_instrument_errors(); } /* Query for numbers result.
38 Sample Programs printf("IEEE block buffer full: "); printf("May not have received all data.\n"); } check_instrument_errors(); return(data_length); } /* Query for an IEEE definite-length block word data result.
38 Sample Programs SICL Example in Visual Basic To run this example in Visual Basic for Applications: 1 Start the application that provides Visual Basic for Applications (for example, Microsoft Excel). 2 Press ALT+F11 to launch the Visual Basic editor. 3 Add the sicl32.bas file to your project: a Choose File>Import File.... b Navigate to the header file, sicl32.
38 Sample Programs ' Open a device session using the SICL_ADDRESS. id = iopen("lan[130.29.71.191]:inst0") Call itimeout(id, 15000) ' Clear the interface. Call iclear(id) ' Initialize - start from a known state. Initialize ' Capture data. Capture ' Analyze the captured waveform. Analyze ' Close the vi session and the resource manager session. Call iclose(id) Exit Sub ErrorHandler: MsgBox "*** Error : " + Error, vbExclamation End End Sub ' ' Initialize the oscilloscope to a known state.
38 Sample Programs ' ------------------------------------------------------------------Private Sub Capture() On Error GoTo ErrorHandler ' Set probe attenuation factor. DoCommand ":CHANnel1:PROBe 1.0" Debug.Print "Channel 1 probe attenuation factor: " + _ DoQueryString(":CHANnel1:PROBe?") ' Use auto-scale to automatically configure oscilloscope. ' ----------------------------------------------------------------DoCommand ":AUToscale" ' Set trigger mode. DoCommand ":TRIGger:MODE EDGE" Debug.
38 Sample Programs ' ----------------------------------------------------------------' Set vertical scale and offset. DoCommand ":CHANnel1:SCALe 0.1" Debug.Print "Channel 1 vertical scale: " + _ DoQueryString(":CHANnel1:SCALe?") DoCommand ":CHANnel1:OFFSet 0.0" Debug.Print "Channel 1 vertical offset: " + _ DoQueryString(":CHANnel1:OFFSet?") ' Set horizontal scale and position. DoCommand ":TIMebase:SCALe 0.0002" Debug.
38 Sample Programs Private Sub Analyze() On Error GoTo ErrorHandler ' Make measurements. ' ----------------------------------------------------------------DoCommand ":MEASure:SOURce CHANnel1" Debug.
38 Sample Programs ' Set the waveform source. DoCommand ":WAVeform:SOURce CHANnel1" Debug.Print "Waveform source: " + _ DoQueryString(":WAVeform:SOURce?") ' Choose the format of the data returned: DoCommand ":WAVeform:FORMat BYTE" Debug.Print "Waveform format: " + _ DoQueryString(":WAVeform:FORMat?") ' Display the waveform settings: Dim dblXIncrement As Double Dim dblXOrigin As Double Dim dblYIncrement As Double Dim dblYOrigin As Double dblXIncrement = DoQueryNumber(":WAVeform:XINCrement?") Debug.
Sample Programs 38 Print #hFile, _ FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _ ", " + _ FormatNumber((lngDataValue * dblYIncrement) + dblYOrigin) Next lngI ' Close output file. Close hFile ' Close file. MsgBox "Waveform format BYTE data written to " + _ "c:\scope\data\waveform_data.csv.
38 Sample Programs MsgBox "*** Error : " + Error, vbExclamation End End Function Private Function DoQueryString(query As String) As String Dim actual As Long On Error GoTo ErrorHandler Dim strResult As String * 200 Call ivprintf(id, query + vbLf) Call ivscanf(id, "%200t", strResult) DoQueryString = strResult CheckInstrumentErrors Exit Function ErrorHandler: MsgBox "*** Error : " + Error, vbExclamation End End Function Private Function DoQueryNumber(query As String) As Double On Error GoTo ErrorHandler Dim
38 Sample Programs Call ivscanf(id, "%,10lf" + vbLf, dblResults) DoQueryNumbers = dblResults CheckInstrumentErrors Exit Function ErrorHandler: MsgBox "*** Error : " + Error, vbExclamation End End Function Private Function DoQueryIEEEBlock_Bytes(query As String) As Long On Error GoTo ErrorHandler ' Send query. Call ivprintf(id, query + vbLf) ' Read definite-length block bytes. Call ifread(id, byteArray(), ByteArraySize, vbNull, retCount) ' Get number of block length digits.
38 Sample Programs Call ivprintf(id, ":SYSTem:ERRor? STRing" + vbLf) ' Query any errors d ata. Call ivscanf(id, "%200t", strErrVal) ' Read: Errnum,"Error String". While Val(strErrVal) <> 0 ' End if find: 0,"No Error". strOut = strOut + "INST Error: " + strErrVal Call ivprintf(id, ":SYSTem:ERRor? STRing" + vbLf) ' Request error me ssage. Call ivscanf(id, "%200t", strErrVal) ' Read error message.
Sample Programs 38 SCPI.NET Examples These programming examples show how to use the SCPI.NET drivers that come with Agilent's free Command Expert software. While you can write code manually using SCPI.NET drivers (as described in this section), 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.
38 Sample Programs • Windows XP: C:\Documents and Settings\All Users\Agilent\ Command Expert\ScpiNetDrivers • Windows 7: C:\ProgramData\Agilent\Command Expert\ ScpiNetDrivers d Select the .dll file for your oscilloscope, for example Ag9000A_3_10.dll; then, click OK. 7 Build and run the program. For more information, see the SCPI.NET driver help that comes with Agilent Command Expert. /* * Agilent SCPI.
38 Sample Programs Console.ReadKey(); } catch (System.ApplicationException err) { Console.WriteLine("*** SCPI.NET Error : " + err.Message); } catch (System.SystemException err) { Console.WriteLine("*** System Error Message : " + err.Message); } catch (System.Exception err) { System.Diagnostics.Debug.Fail("Unexpected Error"); Console.WriteLine("*** Unexpected Error : " + err.Message); } finally { //myScope.Dispose(); } } /* * Initialize the oscilloscope to a known state.
38 Sample Programs myScope.SCPI.TRIGger.EDGE.SOURce.Command("CHANnel1"); myScope.SCPI.TRIGger.EDGE.SOURce.Query(out strResults); Console.WriteLine("Trigger edge source: {0}", strResults); myScope.SCPI.TRIGger.LEVel.Command("CHANnel1", -0.002); myScope.SCPI.TRIGger.LEVel.Query("CHANnel1", out fResult); Console.WriteLine("Trigger edge level: {0:F2}", fResult); myScope.SCPI.TRIGger.EDGE.SLOPe.Command("POSitive"); myScope.SCPI.TRIGger.EDGE.SLOPe.Query(out strResults); Console.
38 Sample Programs DataArray = File.ReadAllLines(strPath); nBytesWritten = strResultsArray.Length; // Restore setup string. myScope.SCPI.SYSTem.SETup.Command(DataArray); Console.WriteLine("Setup bytes restored: {0}", nBytesWritten); // Set the desired number of waveform points, // and capture an acquisition. myScope.SCPI.ACQuire.POINts.ANALog.Command(32000); myScope.SCPI.DIGitize.Command(null); } /* * Analyze the captured waveform.
38 Sample Programs nLength, strPath); // Download waveform data. // ----------------------------------------------------------// Get the waveform points mode. myScope.SCPI.WAVeform.TYPE.Query(out strResults); Console.WriteLine("Waveform points mode: {0}", strResults); // Get the number of waveform points. int nPointsAvail; myScope.SCPI.WAVeform.POINts.Query(out nPointsAvail); Console.WriteLine("Waveform points: {0}", nPointsAvail); // Set the waveform source. myScope.SCPI.WAVeform.SOURce.
Sample Programs 38 { {"0", {"1", {"2", {"3", "AC"}, "DC"}, "DCFIFTY"}, "LFREJECT"}, }; Dictionary dctUnits = new Dictionary() { {"0", "UNKNOWN"}, {"1", "VOLT"}, {"2", "SECOND"}, {"3", "CONSTANT"}, {"4", "AMP"}, {"5", "DECIBEL"}, }; string strPreamble; string[] strsPreamble; myScope.SCPI.WAVeform.PREamble.Query(out strPreamble); strsPreamble = strPreamble.Split(','); Console.WriteLine("Waveform format: {0}", dctWavFormat[strsPreamble[0]]); Console.
38 Sample Programs // Get numeric values for later calculations. double fXincrement; myScope.SCPI.WAVeform.XINCrement.Query(out fXincrement); double fXorigin; myScope.SCPI.WAVeform.XORigin.Query(out fXorigin); double fYincrement; myScope.SCPI.WAVeform.YINCrement.Query(out fYincrement); double fYorigin; myScope.SCPI.WAVeform.YORigin.Query(out fYorigin); // Get the waveform data. myScope.SCPI.WAVeform.STReaming.Command(false); short[] WordDataArray; // Results array. myScope.SCPI.WAVeform.DATA.
38 Sample Programs 6 Add a reference to the SCPI.NET 3.0 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 Add Reference dialog, select the Browse tab, and navigate to the ScpiNetDrivers folder. • Windows XP: C:\Documents and Settings\All Users\Agilent\ Command Expert\ScpiNetDrivers • Windows 7: C:\ProgramData\Agilent\Command Expert\ ScpiNetDrivers d Select the .
38 Sample Programs ' Initialize - start from a known state. Initialize() ' Capture data. Capture() ' Analyze the captured waveform. Analyze() Console.WriteLine("Press any key to exit") Console.ReadKey() Catch err As System.ApplicationException Console.WriteLine("*** SCPI.NET Error : " & err.Message) Catch err As System.SystemException Console.WriteLine("*** System Error Message : " & err.Message) Catch err As System.Exception System.Diagnostics.Debug.Fail("Unexpected Error") Console.
38 Sample Programs Console.WriteLine("Trigger edge source: {0}", strResults) myScope.SCPI.TRIGger.LEVel.Command("CHANnel1", -0.002) myScope.SCPI.TRIGger.LEVel.Query("CHANnel1", fResult) Console.WriteLine("Trigger edge level: {0:F2}", fResult) myScope.SCPI.TRIGger.EDGE.SLOPe.Command("POSitive") myScope.SCPI.TRIGger.EDGE.SLOPe.Query(strResults) Console.WriteLine("Trigger edge slope: {0}", strResults) ' Save oscilloscope setup. Dim strResultsArray As String() ' Results array.
38 Sample Programs DataArray = File.ReadAllLines(strPath) nBytesWritten = DataArray.Length ' Restore setup string. myScope.SCPI.SYSTem.SETup.Command(DataArray) Console.WriteLine("Setup bytes restored: {0}", nBytesWritten) ' Set the desired number of waveform points, ' and capture an acquisition. myScope.SCPI.ACQuire.POINts.ANALog.Command(32000) myScope.SCPI.DIGitize.Command(DBNull.Value) End Sub ' Analyze the captured waveform.
Sample Programs 38 Console.WriteLine("Screen image ({0} bytes) written to {1}", _ nLength, strPath) ' Download waveform data. ' ----------------------------------------------------------' Get the waveform points mode. myScope.SCPI.WAVeform.TYPE.Query(strResults) Console.WriteLine("Waveform points mode: {0}", strResults) ' Get the number of waveform points. Dim nPointsAvail As Integer myScope.SCPI.WAVeform.POINts.Query(nPointsAvail) Console.
38 Sample Programs dctUnits.Add("0", dctUnits.Add("1", dctUnits.Add("2", dctUnits.Add("3", dctUnits.Add("4", dctUnits.Add("5", "UNKNOWN") "VOLT") "SECOND") "CONSTANT") "AMP") "DECIBEL") Dim strPreamble As String Dim strsPreamble As String() myScope.SCPI.WAVeform.PREamble.Query(strPreamble) strsPreamble = strPreamble.Split(","c) Console.WriteLine("Waveform format: {0}", _ dctWavFormat(strsPreamble(0))) Console.WriteLine("Acquire type: {0}", _ dctAcqType(strsPreamble(1))) Console.
38 Sample Programs myScope.SCPI.WAVeform.YORigin.Query(fYorigin) ' Get the waveform data. myScope.SCPI.WAVeform.STReaming.Command(False) Dim WordDataArray As Short() ' Results array. myScope.SCPI.WAVeform.DATA.QueryWord(DBNull.Value, _ DBNull.Value, WordDataArray) nLength = WordDataArray.Length Console.WriteLine("Number of data values: {0}", nLength) ' Set up output file: strPath = "c:\scope\data\waveform_data.csv" If File.Exists(strPath) Then File.Delete(strPath) End If ' Open file for output.
38 Sample Programs ipy example.py # # # # # # Agilent SCPI.NET Example in IronPython ********************************************************* This program illustrates a few commonly used programming features of your Agilent oscilloscope. ********************************************************* # Import Python modules. # --------------------------------------------------------import sys sys.path.append("C:\Python26\Lib") # Python Standard Library. sys.path.
Sample Programs 38 qresult = scope.SCPI.TRIGger.EDGE.SOURce.Query() print "Trigger edge source: %s" % qresult scope.SCPI.TRIGger.LEVel.Command("CHANnel1", -0.002) qresult = scope.SCPI.TRIGger.LEVel.Query("CHANnel1") print "Trigger edge level: %s" % qresult scope.SCPI.TRIGger.EDGE.SLOPe.Command("POSitive") qresult = scope.SCPI.TRIGger.EDGE.SLOPe.Query() print "Trigger edge slope: %s" % qresult # Save oscilloscope setup. setup_lines = scope.SCPI.SYSTem.SETup.Query() nLength = len(setup_lines) File.
38 Sample Programs # Make measurements. # -------------------------------------------------------scope.SCPI.MEASure.SOURce.Command("CHANnel1", None) source_list = scope.SCPI.MEASure.SOURce.Query() print "Measure source: %s" % source_list[0] scope.SCPI.MEASure.FREQuency.Command("CHANnel1", None) qresult = scope.SCPI.MEASure.FREQuency.QuerySendValidOff("CHANnel1", No ne) print "Measured frequency on channel 1: %f" % qresult # Use direct command/query when commands not in command set. scope.Transport.Command.
Sample Programs 38 4 : "LONGLONG", } acq_type_dict = { 1 : "RAW", 2 : "AVERage", 3 : "VHIStogram", 4 : "HHIStogram", 6 : "INTerpolate", 10 : "PDETect", } acq_mode_dict = { 0 : "RTIMe", 1 : "ETIMe", 3 : "PDETect", } coupling_dict = { 0 : "AC", 1 : "DC", 2 : "DCFIFTY", 3 : "LFREJECT", } units_dict = { 0 : "UNKNOWN", 1 : "VOLT", 2 : "SECOND", 3 : "CONSTANT", 4 : "AMP", 5 : "DECIBEL", } preamble_string = scope.SCPI.WAVeform.PREamble.
38 Sample Programs print print print print print print "Acquire mode: %s" % acq_mode_dict[int(acq_mode)] "Completion pct: %s" % completion "Waveform X units: %s" % units_dict[int(x_units)] "Waveform Y units: %s" % units_dict[int(y_units)] "Max BW limit: %s" % max_bw_limit "Min BW limit: %s" % min_bw_limit # Get numeric values for later calculations. x_increment = scope.SCPI.WAVeform.XINCrement.Query() x_origin = scope.SCPI.WAVeform.XORigin.Query() y_increment = scope.SCPI.WAVeform.YINCrement.
Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference 39 Reference HDF5 Example 1304 CSV and TSV Header Format 1305 BIN Header Format 1307 s1 1303
39 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.
Reference 39 CSV and TSV Header Format Revision Always 0 (zero). Type How the waveform was acquired: normal, raw, interpolate, average, or versus. When this field is read back into the scope, all modes, except versus, are converted to raw. The default value is raw. Start Starting point in the waveform of the first data point in the file. This is usually zero. Points The number of points in the waveform record. The number of points is set by the Memory Depth control. The default value is 1.
39 Reference 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.
39 Reference BIN Header Format • "File Header" on page 1307 • "Waveform Header" on page 1307 • "Waveform Data Header" on page 1309 • "Example Program for Reading Binary Data" on page 1310 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 Agilent Binary Data file format. Version Two bytes which represent the file version.
39 Reference Number of Waveform Buffers Count An integer (4 byte signed) which is the number of waveform buffers required to read the data. This value is one except for peak detect data and digital data. 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.
Reference 39 3 = Constant 4 = Amp 5 = Decibel 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 Time Tags Segment Index A 16 character array which is the waveform label.
39 Reference Example Program for Reading Binary Data The following is a programming example of reading a Binary Data (.bin) file and converting it to a CSV (.csv) file without a file header. /* bintoascii.c */ /* Reads the binary file format. This program demonstrates how to import the Infiniium oscilloscope binary file format and how to export it to an ascii comma separated file format. */ #pragma pack(4) #include #include #include #include "sicl.
Reference 39 #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; } Waveform
39 Reference void void void void double *xInc, double *xOrg ); OutputNormalWaveform( WaveformHeader waveformHeader ); OutputPeakDetectWaveform( WaveformHeader waveformHeader ); OutputHistogramWaveform( WaveformHeader waveformHeader ); OutputData( FILE *PeakFile, WaveformDataHeader waveformDataHeader ); /* 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; cha
39 Reference 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 *
39 Reference void OutputNormalWaveform( WaveformHeader waveformHeader ) { WaveformDataHeader waveformDataHeader; int done = FALSE; unsigned long i; unsigned long j = 0; size_t BytesRead = 0L; double Time; BytesRead = fread( &waveformDataHeader, 1, sizeof( WaveformDataHeader ), InputFile ); GetTimeConversionFactors( waveformHeader, &xInc, &xOrg ); while( !done ) { BytesRead = fread( (char *) Volts, 1, MAX_LENGTH, InputFile ); for( i = 0; i < (BytesRead/waveformDataHeader.
Reference 39 if( BytesRead < MAX_LENGTH ) { done = TRUE; } } } /********************************************************************* * 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.
39 Reference size_t BytesRead = 0L; double Time; FILE *MaxFile; FILE *MinFile; fread( &waveformDataHeader, 1, sizeof( WaveformDataHeader ), InputFile ); GetTimeConversionFactors( waveformHeader, &xInc, &xOrg ); MaxFile = fopen( "maxdata.bin", "wb" ); MinFile = fopen( "mindata.bin", "wb" ); if( MaxFile && MinFile ) { if( waveformDataHeader.
Index Symbols :ACQuire:AVERage command/query, 148 :ACQuire:AVERage:COUNt command/query, 149 :ACQuire:BANDwidth, command/query, 150 :ACQuire:COMPlete command/query, 151 :ACQuire:COMPlete:STATe command/query, 153 :ACQuire:HRESolution command/query, 154 :ACQuire:INTerpolate command/query, 155 :ACQuire:MODE command/query, 156 :ACQuire:POINts:ANALog command/query, 158 :ACQuire:POINts:AUTO command/query, 161 :ACQuire:POINts:DIGital? query, 162 :ACQuire:SEGMented:COUNt command/query, 163 :ACQuire:SEGMented:INDex c
Index :DISK:SAVE:PRECprobe command, 290 :DISK:SAVE:SETup command, 291 :DISK:SAVE:WAVeform command, 292 :DISK:SEGMented command/query, 294 :DISK:STORe command, 1155 :DISPlay: ROW command query, 312 :DISPlay:CGRade command/query, 296 :DISPlay:CGRade:LEVels? query, 297 :DISPlay:CGRade:SCHeme command/query, 299 :DISPlay:COLumn command/query, 301 :DISPlay:CONNect command/query, 302 :DISPlay:DATA? query, 303 :DISPlay:GRATicule command/query, 304 :DISPlay:GRATicule:INTensity command/query, 305 :DISPlay:GRATicule:
Index :MEASure:CLOCk:VERTical command/query, 517 :MEASure:CLOCk:VERTical:OFFSet command/query, 518 :MEASure:CLOCk:VERTical:RANGe command/query, 519 :MEASure:CROSsing command/query, 520 :MEASure:CTCDutycycle command/query, 521 :MEASure:CTCJitter command/query, 523 :MEASure:CTCNwidth command/query, 525 :MEASure:CTCPwidth command/query, 527 :MEASure:DATarate command/query, 529 :MEASure:DDPWS command/query, 35, 1159 :MEASure:DEEMphasis command/query, 531 :MEASure:DELTatime command/query, 533 :MEASure:DELTatime
Index :MEASure:THResholds:RFALl:METHod command/query, 681 :MEASure:THResholds:RFALl:PERCent command/query, 683 :MEASure:THResholds:RFALl:TOPBase:ABSolut e command/query, 685 :MEASure:THResholds:RFALl:TOPBase:METHod command/query, 687 :MEASure:THResholds:SERial:ABSolute command/query, 689 :MEASure:THResholds:SERial:HYSTeresis command/query, 691 :MEASure:THResholds:SERial:METHod command/query, 693 :MEASure:THResholds:SERial:PERCent command/query, 695 :MEASure:THResholds:SERial:TOPBase:ABSolut e command/query
Index :SPRocessing:CTLequalizer:VERTical command/query, 843 :SPRocessing:CTLequalizer:VERTical:OFFSet command/query, 844 :SPRocessing:CTLequalizer:VERTical:RANGe command/query, 845 :SPRocessing:CTLequalizer:ZERo command/query, 846 :SPRocessing:DFEQualizer:NTAPs command/query, 849 :SPRocessing:DFEQualizer:SOURce command/query, 848 :SPRocessing:DFEQualizer:STATe command/query, 847 :SPRocessing:DFEQualizer:TAP command/query, 850 :SPRocessing:DFEQualizer:TAP:AUTomatic command, 858 :SPRocessing:DFEQualizer:TAP:
Index :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSO urce command/query, 1064 :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSO urce:HTHReshold command/query, 1065 :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSO urce:LTHReshold command/query, 1066 :TRIGger:ADVanced:VIOLation:SETup:HOLD:TIM E command/query, 1067 :TRIGger:ADVanced:VIOLation:SETup:MODE command/query, 1053 :TRIGger:ADVanced:VIOLation:SETup:SETup:CSO urce command/query, 1054 :TRIGger:ADVanced:VIOLation:SETup:SETup:CSO urce:EDGE command/query, 1056 :TRIGger:ADV
Index :WAVeform:YDISplay? query, 1138 :WAVeform:YINCrement? query, 1139 :WAVeform:YORigin? query, 1140 :WAVeform:YRANge? query, 1141 :WAVeform:YREFerence? query, 1142 :WAVeform:YUNits? query, 1143 :WMEMory:CLEar command, 1146 :WMEMory:DISPlay command/query, 1147 :WMEMory:LOAD command, 1148 :WMEMory:SAVE command, 1149 :WMEMory:XOFFset command/query, 1150 :WMEMory:XRANge command/query, 1151 :WMEMory:YOFFset command/query, 1152 :WMEMory:YRANge command/query, 1153 ...
Index ADVanced, :TRIGger:ADVanced:TV:STV:FIELd command/query, 1032 ADVanced, :TRIGger:ADVanced:TV:STV:LINE command/query, 1033 ADVanced, :TRIGger:ADVanced:TV:STV:SOURce command/query, 1034 ADVanced, :TRIGger:ADVanced:TV:STV:SPOLarity command/query, 1035 ADVanced, :TRIGger:ADVanced:TV:UDTV:ENUMber command/query, 1038 ADVanced, :TRIGger:ADVanced:TV:UDTV:PGTHan command/query, 1039 ADVanced, :TRIGger:ADVanced:TV:UDTV:POLarity command/query, 1040 ADVanced, :TRIGger:ADVanced:TV:UDTV:SOURce command/query, 1041 AD
Index ARM, :TRIGger:ADVanced:DELay:EDLY:ARM:SLO Pe command/query, 1017 ARM, :TRIGger:ADVanced:DELay:EDLY:ARM:SOU Rce command/query, 1016 ARM, :TRIGger:ADVanced:DELay:TDLY:ARM:SLO Pe command/query, 1026 ARM, :TRIGger:ADVanced:DELay:TDLY:ARM:SOU Rce command/query, 1025 ARM, :TRIGger:DELay:ARM:SLOPe command/query, 927 ARM, :TRIGger:DELay:ARM:SOURce command/query, 926 Arming the trigger, 97 ASCII, and FORMat, 1113 ASCII, character 32, 56 ASCII, linefeed, 69 ASIZe, :SBUS:IIC:ASIZe command/query, 805 attenuat
Index CGRade, :DISPlay:CGRade:LEVels? query, 297 CGRade, :DISPlay:CGRade:SCHeme command/query, 299 CGRade, :MEASure:CGRade:CROSsing command/query, 497 CGRade, :MEASure:CGRade:DCDistortion command/query, 498 CGRade, :MEASure:CGRade:EHEight command/query, 499 CGRade, :MEASure:CGRade:EWIDth command/query, 500 CGRade, :MEASure:CGRade:EWINdow command/query, 501 CGRade, :MEASure:CGRade:JITTer command/query, 502 CGRade, :MEASure:CGRade:QFACtor command/query, 503 Channel Commands, 189 CHANnels, :AUToscale:CHANnels
Index CONDition, :TRIGger:WINDow:CONDition command/query, 990 connect oscilloscope, 45 CONNect, :DISPlay:CONNect command/query, 302 conventions of programming, 137 converting waveform data, from data value to Y-axis units, 1084 CONVolve, :CHANnel:ISIM:CONVolve command/query, 204 COPY, :DISK:COPY command, 279 copying files, 279 CORRection, :CHANnel:ISIM:CORRection command/query, 205 COUNt, :ACQuire:AVERage:COUNt command/query, 149 COUNt, :ACQuire:SEGMented:COUNt command/query, 163 COUNt, :MTESt:AVERag
Index DELay, :SPRocessing:DFEQualizer:TAP:DELay command/query, 852 DELay, :SPRocessing:FFEQualizer:TAP:DELay command/query, 867 DELay, :TIMebase:WINDow:DELay command/query, 899 DELay, :TRIGger:ADVanced:DELay:EDLY:ARM:SLO Pe command/query, 1017 DELay, :TRIGger:ADVanced:DELay:EDLY:ARM:SOU Rce command/query, 1016 DELay, :TRIGger:ADVanced:DELay:EDLY:EVENt:DEL ay command/query, 1018 DELay, :TRIGger:ADVanced:DELay:EDLY:EVENt:SL OPe command/query, 1020 DELay, :TRIGger:ADVanced:DELay:EDLY:EVENt:SO URce command/que
Index DSOurce, :TRIGger:ADVanced:VIOLation:SETup:SETup :DSOurce command/query, 1057 DSOurce, :TRIGger:ADVanced:VIOLation:SETup:SETup :DSOurce:HTHReshold command/query, 1058 DSOurce, :TRIGger:ADVanced:VIOLation:SETup:SETup :DSOurce:LTHReshold command/query, 1059 DSOurce, :TRIGger:ADVanced:VIOLation:SETup:SHOL d:DSOurce command/query, 1071 DSOurce, :TRIGger:ADVanced:VIOLation:SETup:SHOL d:DSOurce:HTHReshold command/query, 1072 DSOurce, :TRIGger:ADVanced:VIOLation:SETup:SHOL d:DSOurce:LTHReshold command/query
Index FFEequalizer, :SPRocessing:FFEequalizer:RATe command/query, 863 FFEQualizer, :SPRocessing:FFEQualizer:DISPlay command/query, 859 FFEQualizer, :SPRocessing:FFEQualizer:NPRecursor command/query, 861 FFEQualizer, :SPRocessing:FFEQualizer:NTAPs command/query, 862 FFEQualizer, :SPRocessing:FFEQualizer:SOURce command/query, 860 FFEQualizer, :SPRocessing:FFEQualizer:TAP command/query, 864 FFEQualizer, :SPRocessing:FFEQualizer:TAP:AUTomatic command, 868 FFEQualizer, :SPRocessing:FFEQualizer:TAP:BANDwidth com
Index HIGHpass, :FUNCtion:HIGHpass command, 343 Histogram Commands, 373 HISTogram, :MEASure:HISTogram:HITS command/query, 555 HISTogram, :MEASure:HISTogram:M1S command/query, 556 HISTogram, :MEASure:HISTogram:M2S command/query, 557 HISTogram, :MEASure:HISTogram:M3S command/query, 558 HISTogram, :MEASure:HISTogram:MAX command/query, 559 HISTogram, :MEASure:HISTogram:MEAN command/query, 560 HISTogram, :MEASure:HISTogram:MEDian command/query, 561 HISTogram, :MEASure:HISTogram:MIN command/query, 562 HISTogr
Index input buffer, default condition, 101 input coupling, and COUPling?, 1090 INPut, :CHANnel:INPut command/query, 200 instruction headers, 55 Instrument Address, GPIB, 93 instrument status, 85 integer definition, 67 INTegrate, :FUNCtion:INTegrate command, 347 intensity, 305 INTensity, :DISPlay:GRATicule:INTensity command/query, 305 Interface, Capabilities, 91 Interface, Clear (IFC), 97 interface, functions, 87 Interface, GPIB Select Code, 93 INTerpolate, :ACQuire:INTerpolate command/query, 155 INTe
Index :DSOurce:LTHReshold command/query, 1066 LTHReshold, :TRIGger:ADVanced:VIOLation:SETup:SETup :DSOurce:LTHReshold command/query, 1059 LTHReshold, :TRIGger:ADVanced:VIOLation:SETup:SHOL d:DSOurce:LTHReshold command/query, 1073 LTHReshold, :TRIGger:ADVanced:VIOLation:TRANsition: SOURce:LTHReshold command/query, 1081 LTHReshold, :TRIGger:LTHReshold command/query, 915 LTYPe, :TRIGger:ADVanced:STATe:LTYPe command/query, 1011 LTYPe, :TRIGger:STATe:LTYPe command/query, 967 luminosity, 314 M M1S, :MEASure:HIS
Index MOSI, :SBUS:SPI:SOURce:MOSI command/query, 821 MSG bit, 265, 267 MSG, bit in the status register, 111 MSS bit and *STB, 266 MTRend, :FUNCtion:MTRend command, 354 Multiple numeric variables, 84 multiple, program commands, 71 multiple, queries, 84 multiple, subsystems, 71 MULTiply, :FUNCtion:MULTiply command, 355 N N2750A probe, 235 N2893A probe, 220 N5444A probe head, 233 NAME, :MEASure:NAME command/query, 588 NAME, :MEASurement:NAME command/query, 743 NCJitter, :MEASure:NCJitter command/
Index PATTern, :TRIGger:ADVanced:PATTern:LOGic command/query, 1004 PATTern, :TRIGger:ADVanced:PATTern:THReshold:LE Vel command/query, 1005 PATTern, :TRIGger:ADVanced:PATTern:THReshold:PO D command/query, 1006 PATTern, :TRIGger:COMM:PATTern command/query, 922 PATTern, :TRIGger:PATTern:CONDition command/query, 944 PATTern, :TRIGger:PATTern:LOGic command/query, 945 PBASe, :MEASure:PBASe command/query, 610 PDETect acquisition mode, 156 PEAK, :MEASure:HISTogram:PEAK command/query, 564 PEAK1, :MEASure:FFT:PEA
Index PROBe, :MTESt:PROBe:IMPedance? query, 468 program data, 61 Program example, 77 Program Header Options, 65 program message, 74 program message terminator, 69 program overview, initialization example, 77 programming basics, 52 Programming Conventions, 137 programming examples, 1173 programming examples language, 52 Programming Getting Started, 72 protocol, exceptions and operation, 100 PSKew, :POD:PSKew command/query, 747 PTOP, :MEASure:PTOP command/query, 618 pulse width measurement setup, 490 puls
Index RJDJ, :MEASure:RJDJ:BANDwidth command/query, 632 RJDJ, :MEASure:RJDJ:BER command/query, 633 RJDJ, :MEASure:RJDJ:CLOCk command/query, 635 RJDJ, :MEASure:RJDJ:EDGE command/query, 636 RJDJ, :MEASure:RJDJ:INTerpolate command/query, 637 RJDJ, :MEASure:RJDJ:METHod command/query, 638 RJDJ, :MEASure:RJDJ:MODe command/query, 639 RJDJ, :MEASure:RJDJ:PLENgth command/query, 640 RJDJ, :MEASure:RJDJ:REPort command/query, 641 RJDJ, :MEASure:RJDJ:RJ command/query, 642 RJDJ, :MEASure:RJDJ:SCOPe:RJ command/query, 643
Index SERial, :MEASure:THResholds:SERial:PERCent command/query, 695 SERial, :MEASure:THResholds:SERial:TOPBase:AB Solute command/query, 697 SERial, :MEASure:THResholds:SERial:TOPBase:ME THod command/query, 699 Service Request Enabl, (*SRE) command/query, 264 Service Request Enable, Register (SRE), 110 Service Request Enable, Register Bits, 264 Service Request Enable, Register Default, 90 Service Request, Code and Capability, 91 set up oscilloscope, 45 SETGrat, :DISPlay:GRATicule:SETGrat command, 307 settin
Index SLOPe, :SBUS:SPI:CLOCk:SLOPe command/query, 814 SLOPe, :TRIGger:ADVanced:DELay:EDLY:ARM:SLO Pe command/query, 1017 SLOPe, :TRIGger:ADVanced:DELay:EDLY:EVENt:SL OPe command/query, 1020 SLOPe, :TRIGger:ADVanced:DELay:EDLY:TRIGger:S LOPe command/query, 1022 SLOPe, :TRIGger:ADVanced:DELay:TDLY:ARM:SLO Pe command/query, 1026 SLOPe, :TRIGger:ADVanced:DELay:TDLY:TRIGger:S LOPe command/query, 1029 SLOPe, :TRIGger:ADVanced:STATe:SLOPe command/query, 1012 SLOPe, :TRIGger:DELay:ARM:SLOPe command/query, 927 S
Index SPI decode type, 827 SPI decode word width, 828 SPI frame source, 819 SPI frame state, 816 SPI trigger commands, 812 SPI trigger data pattern, 822 SPI trigger pattern width, 824 SPI trigger type, 826 SPI, :SBUS:SPI:BITorder command/query, 813 SPI, :SBUS:SPI:CLOCk:SLOPe command/query, 814 SPI, :SBUS:SPI:CLOCk:TIMeout command/query, 815 SPI, :SBUS:SPI:FRAMe:STATe command/query, 816 SPI, :SBUS:SPI:SOURce:CLOCk command/query, 817 SPI, :SBUS:SPI:SOURce:DATA command/query, 818 SPI, :SBUS<
Index TAP, :SPRocessing:FFEQualizer:TAP command/query, 864 TAP, :SPRocessing:FFEQualizer:TAP:AUTomatic command, 868 TAP, :SPRocessing:FFEQualizer:TAP:BANDwidth command/query, 869 TAP, :SPRocessing:FFEQualizer:TAP:BWMode command/query, 870 TAP, :SPRocessing:FFEQualizer:TAP:DELay command/query, 867 TAP, :SPRocessing:FFEQualizer:TAP:PLENgth command/query, 865 TAP, :SPRocessing:FFEQualizer:TAP:TDELay command/query, 871 TAP, :SPRocessing:FFEQualizer:TAP:TDMode command/query, 872 TAP, :SPRocessing:FFEQualizer:TA
Index TMIN, :MEASure:TMIN command/query, 715 TOPBase, :MEASure:THResholds:GENeral:TOPBase:A BSolute command/query, 667 TOPBase, :MEASure:THResholds:GENeral:TOPBase: METHod command/query, 669 TOPBase, :MEASure:THResholds:RFALl:TOPBase:ABS olute command/query, 685 TOPBase, :MEASure:THResholds:RFALl:TOPBase:ME THod command/query, 687 TOPBase, :MEASure:THResholds:SERial:TOPBase:AB Solute command/query, 697 TOPBase, :MEASure:THResholds:SERial:TOPBase:ME THod command/query, 699 TOPBase, :MEASure:THResholds:TOPBa
Index TV, :TRIGger:TV:UDTV:HSYNc command/query, 985 TV, :TRIGger:TV:UDTV:HTIMe command/query, 986 TV, :TRIGger:TV:UDTV:PGTHan command/query, 987 TV, :TRIGger:TV:UDTV:POLarity command/query, 988 TVOLt, :MEASure:TVOLt command/query, 716 TYPE, :BUS:B:TYPE command/query, 172 TYPE, :MEASure:JITTer:SPECtrum:VERTical:TYPE command/query, 579 TYPE, :MEASure:TIEFilter:TYPE command/query, 713 TYPE, :SBUS:IIC:TRIGger:TYPE command, 810 TYPE, :SBUS:SPI:TRIGger:TYPE command/query, 826 TYPE, :SBUS:SPI:TYPE com
Index VIOLation, :TRIGger:ADVanced:VIOLation:SETup:HOLD :DSOurce:HTHReshold command/query, 1065 VIOLation, :TRIGger:ADVanced:VIOLation:SETup:HOLD :DSOurce:LTHReshold command/query, 1066 VIOLation, :TRIGger:ADVanced:VIOLation:SETup:HOLD :TIME command/query, 1067 VIOLation, :TRIGger:ADVanced:VIOLation:SETup:MOD E command/query, 1053 VIOLation, :TRIGger:ADVanced:VIOLation:SETup:SETup :CSOurce command/query, 1054 VIOLation, :TRIGger:ADVanced:VIOLation:SETup:SETup :CSOurce:EDGE command/query, 1056 VIOLation, :T
Index WINDow, :TRIGger:WINDow:CONDition command/query, 990 WINDow, :TRIGger:WINDow:SOURce command/query, 991 WINDow, :TRIGger:WINDow:TIME command/query, 992 WINDow, :TRIGger:WINDow:TPOint command/query, 993 word width, SPI decode, 828 WORD, and FORMat, 1114 WORD, Understanding the format, 1108 WriteIEEEBlock method, 74 WriteList method, 74 WriteNumber method, 74 WriteString method, 74 WriteString VISA COM method, 53 writing, text to the screen, 317 X x axis, controlling, 891 X vs Y, 362 X1, :MTESt:SCALe:X
Index 1346 Agilent Infiniium 9000 Series Oscilloscopes Programmer's Reference