Tektronix DG2020A Programmer's Manual

Tektronix DG2020A Programmer's Manual

Data
Hide thumbs Also See for DG2020A:
Table of Contents

Advertisement

Quick Links

Programmer Manual
DG2020A
Data Generator
071-0054-01

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the DG2020A and is the answer not in the manual?

Questions and answers

Summary of Contents for Tektronix DG2020A

  • Page 1 Programmer Manual DG2020A Data Generator 071-0054-01...
  • Page 2 Copyright E Sony/Tektronix Corporation. All rights reserved. Copyright E Tektronix, Inc. All rights reserved. Tektronix products are covered by U.S. and foreign patents, issued and pending. Information in this publication supercedes that in all previously published material. Specifications and price change privileges reserved.
  • Page 3: Table Of Contents

    Sample Program Functions and Usage ....... . DG2020A Programmer Manual...
  • Page 4 ..........Index–1 DG2020A Programmer Manual...
  • Page 5 Figure 3-5: Service request enable register (SRER) ....Figure 3-6: Status and event handling process overview ... DG2020A Programmer Manual...
  • Page 6 ..... 3-17 Table A–1: DG2020A character set ......
  • Page 7: Related Manuals

    Preface This is the Programmer Manual for the DG2020A Data Generator and Pods. This manual provides information on operating these instruments using General Purpose Interface Bus (GPIB) interface and RS-232-C interface. This manual provides the following information: H Getting Started describes how to connect and set up for remote operation.
  • Page 8 Preface DG2020A Programmer Manual...
  • Page 9 Getting Started...
  • Page 11: Figure 1-1: Functional Layers In Gpib System

    IEEE 488.2 IEEE 488.1 IEEE 488.2 Standard Standard Standard Device Device A: Interface Function Layer B: Message Communication Function Layer C: Common System Function Layer D: Device Function Layer Figure 1 1: Functional layers in gpib system DG2020A Programmer Manual...
  • Page 12: Table 1-1: Gpib And Rs-232-C Comparison

    (Transmit) Timing Asynchronous Asynchronous Transmission path length 2 meters between devices; 15 meters 20 meters total cabling for GPIB system Speed 200 Kbytes/sec 19,200 bits/sec System environment Multiple devices ( 15) Single terminal (point to point connection) DG2020A Programmer Manual...
  • Page 13: Figure 1-2: Gpib Connector

    A star setup is one where one end of all the GPIB cables in the system are attached to one device. Refer to Figure 1-3 for these GPIB system configurations. DG2020A Programmer Manual...
  • Page 14: Figure 1-3: Gpib System Configurations

    (most often, each device represents one device load to the bus). 3. The total cable length (cumulative) must not exceed 20 meters. 4. At least two-thirds of the device loads must be powered on. DG2020A Programmer Manual...
  • Page 15: Figure 1-4: Gpib Parameter Settings

    5. Select the Remote Port item using the up and down arrow buttons, and additionally, highlight ”GPIB” using the left and right arrow buttons. This selects the GPIB as the remote interface. GPIB Menu Figure 1 4: GPIB parameter settings DG2020A Programmer Manual...
  • Page 16: Figure 1-5: Rs-232-C Point-To-Point Connection

    This data generator uses a standard 9-pin D-type shell connector, provided on the rear panel (see Figure 1-6), along with a 9-pin male to 25-pin male conversion cable. Figure 1-7 on page 1-8 shows both 9-pin and 25 pin connectors with their pin number assignments. DG2020A Programmer Manual...
  • Page 17: Figure 1-6: Rs-232-C Port

    DCE-to-DCE communications. Refer to the wiring examples in the Figure 1-8 for the proper signal connections between devices. NOTE. In this data generator, only TxD, RxD, DTR, CTS pins and Signal Ground are available. DG2020A Programmer Manual...
  • Page 18: Figure 1-7: Pin Assignments Of 9-Pin And 25-Pin D-Type Shell Connector

    9 pin DCE to 25 pin DTE 9 pin DCE to 25 pin DCE NOTE: When using software flow control, the CTS DTR lines do not need to be connected. Figure 1 8: Typical RS 232 C cable wiring requirements DG2020A Programmer Manual...
  • Page 19: Figure 1-9: Rs-232-C Parameter Settings

    8. Select the Remote Port item using the up and down arrow buttons, and additionally, highlight ”RS232C” using the left and right arrow buttons. This selects the RS-232-C interface as the remote interface. Serial Menu Figure 1 9: RS 232 C parameter settings DG2020A Programmer Manual...
  • Page 20 Getting Started 1 10 DG2020A Programmer Manual...
  • Page 21 Command Syntax...
  • Page 23: Table 2-1: Bnf Symbols And Meanings

    The data generator transfers these response messages to the external controller. DG2020A Programmer Manual...
  • Page 24: Figure 2-1: Command And Query Structure Flowchart

    This seven-bit ASCII code is used for the majority of syntactic elements and semantic definitions. In special cases, an eight-bit ASCII Code is allowed in the arbitrary block arguments described on page 2-5. The ASCII code character set table is found in Appendix A. DG2020A Programmer Manual...
  • Page 25: Syntactic Delimiters

    The Line Feed (LF) character or the New Line (NL) character (ASCII 10) and all characters in the range of ASCII 127-255 are defined as special characters. These characters are used in arbitrary block arguments only; using these characters in other parts of any command yields unpredictable results. DG2020A Programmer Manual...
  • Page 26: Table 2-2: Decimal Numeric Notation

    SI units instead of in the scaled explicit point input value format <NR3>. (SI units are units that conform to the Systeme International d’Unites standard.) For example, you can use the input format 200mV or 1.0MHz instead of 200.0E–3 or 1.0E+6, respectively, to specify voltage or frequency. DG2020A Programmer Manual...
  • Page 27 String constants may be of any length up to the memory limits of the instrument in which the message is parsed. Arbitrary Block An arbitrary block argument is defined as: #<byte count digit><byte count>[<contiguous eight bit data byte>]... #<contiguous eight bit data byte]... <terminator> DG2020A Programmer Manual...
  • Page 28: Header

    H Compound command header H Compound query header H Common command header H Common query header Figure 2-1 on page 2-2 shows the syntax for all possible structures, and each of the six basic forms are explained below. DG2020A Programmer Manual...
  • Page 29 [:]<Header Mnemonic>[:<Header Mnemonic>]... [<Argument>[,<Argument>]...] such as: MMEMORY:INITIALIZE HD1 SYSTEM:SECURITY:STATE ON Compound Query Header. A command that contains multiple header mnemonics followed by a question mark (?). Its message format is: [:]<Header Mnemonic>[:<Header Mnemonic>]...? [<Argument>[,<Argument>]...] such as: DIAGNOSTIC:RESULT? DATA:BLOCK:SIZE? "BLOCK1" DG2020A Programmer Manual...
  • Page 30: Concatenating Commands

    You must include the complete path in each header when there is no common complete path to the start of the tree structure (the colon). However, note that part of each header in the above example has a common path :DATA:BLOCK. You DG2020A Programmer Manual...
  • Page 31: Table 2-3: Header In Query Responses

    When headers are turned off for query responses, only the values are returned. Table 2-3 shows the difference in query responses. Table 2 3: Header in query responses Query Header on Header off DATA:MSIZE? :DATA:MSIZE 16384 16384 DIAGNOSTIC:SELECT? :DIAGNOSTIC:SELECT PMEMORY PMEMORY DG2020A Programmer Manual...
  • Page 32: Other General Command Conventions

    The minimum required spelling is shown in upper case throughout the subsection Command Groups beginning on page 2-11. The command TRIGger:SLOPe POSitive can be rewritten in either of the following forms. TRIGGER:SLOPE POSITIVE TRIG:SLOP POS 2 10 DG2020A Programmer Manual...
  • Page 33: Table 2-4: Data Commands

    Command Groups This subsection describes the organization of the DG2020A Data Generator command as a number of functional groups. (See subsection Command Descriptions on page 2-19 for a complete description of each command in alphabetical order.) Throughout this section, the parenthesized question symbol (?) follows the command header to indicate that both a command and query form of the command can be used.
  • Page 34: Table 2-5: Diagnostic Commands

    Table 2 5: DIAGNOSTIC commands Header Description DIAGnostic? Query all current settings related to self test DIAGnostic:RESUlt? Query self test result DIAGnostic:SELect(?) Select self test routine DIAGnostic:STATe Perform self test *TST? Perform self test 2 12 DG2020A Programmer Manual...
  • Page 35: Table 2-6: Display Commands

    HCOPy? Query all hardcopy related information HCOPy:ABORt Stop the current hardcopy operation HCOPy:DATA? Create and send hardcopy data HCOPy:FORMat(?) Select output format of hardcopy HCOPy:PORT(?) Select output port of hardcopy HCOPy:STARt Start a hardcopy operation 2 13 DG2020A Programmer Manual...
  • Page 36: Table 2-8: Memory Commands

    Query whether the instrument is currently outputting a pattern or sequence STARt Start pattern or sequence output STOP Stop pattern or sequence output *TRG Generate the triggering event TRIGger? Query all current trigger related settings 2 14 DG2020A Programmer Manual...
  • Page 37: Table 2-10: Output Commands

    Set the pod high-level output voltage OUTPut:POD<s>:CH<n>:INHibit(?) Set the pod high-impedance control method OUTPut:POD<s>:CH<n>:LOW(?) Set the pod low-level output voltage OUTPut:POD<s>:CH<n>:RELEase Clear the pod data bit assignments OUTPut:POD<s>:DEFine(?) Set pod data bit assignments OUTPut:POD<s>:TYPE? Query the pod type 2 15 DG2020A Programmer Manual...
  • Page 38: Table 2-11: Source Commands

    EVENT? Dequeue event from Event Queue EVMsg? Dequeue event from Event Queue EVQty? Query number of event on Event Queue *PSC(?) Set power on status clear flag *SRE(?) Set and query SRER *STB? Query SBR 2 16 DG2020A Programmer Manual...
  • Page 39: Table 2-13: Synchronization Commands

    SYSTem:DATE(?) Set the clock date SYSTem:PPAUse(?) Set the setting for system operation when a self-diagnostics detects an error SYSTem:SECurity:IMMediate Delete all settings and data SYSTem:SECurity:STATe(?) Set the security on/off state SYSTem:TIME(?) Set the clock time 2 17 DG2020A Programmer Manual...
  • Page 40 Command Groups Table 2 14: SYSTEM commands (Cont.) Header Description UNLock Unlock (allow) local control using the front panel controls UPTime? Query the elapsed time since power on VERBose(?) Select short or long response headers 2 18 DG2020A Programmer Manual...
  • Page 41: Command Descriptions

    Figure 2-2. Sending an argument corresponding to a front-panel button is the same as pressing that button once; if the argument sent corresponds to a knob, it is the same as rotating the knob clockwise or counterclockwise by of a turn. 2 19 DG2020A Programmer Manual...
  • Page 42: Figure 2-2: Abstouch Arguments And Associated Controls

    The ALLEv? query dequeues all event codes and their corresponding event messages. Use the *ESR? query to make events available for dequeuing using ALLEv? query. Group STATUS & EVENT Related Commands *CLS, DESE, *ESE, *ESR?, EVENT?, EVMsg?, EVQty?, *SRE, *STB? Syntax ALLEv? 2 20 DG2020A Programmer Manual...
  • Page 43 DESE, *ESE, *ESR?, *EVENT?, EVMsg?, EVQty?, *SRE, *STB? Syntax *CLS Examples *CLS clears the SESR, the SBR, and the Event Queue. DATA? The DATA? query returns the setting states related to the pattern data. Group DATA Related Commands OUTPut? Syntax DATA? 2 21 DG2020A Programmer Manual...
  • Page 44 DATA:BLOCk:ADD <Position>,<Name> Arguments <Position>::=<NR1> where <NR1> is the start position of the added block. <Name>::=<string> where <string> is the name of the added block. Examples :DATA:BLOCK:ADD 512,"BLOCK1" adds a block starting at address 512 named BLOCK1. 2 22 DG2020A Programmer Manual...
  • Page 45 ASCII. <LF>::=<ASCII line feed code (dec 10)> Responses [:DATA:BLOCk:DEFINE] <Blockinfo> where <Blockinfo> is a data block in the same format as the argument. Examples :DATA:BLOCk:DEFine #2320,BLOCK0<LF>512,BLOCK1<LF>1024,BLOCK2 defines three blocks: BLOCK0, BLOCK1, and BLOCK2. 2 23 DG2020A Programmer Manual...
  • Page 46 The DATA:BLOCk:DELete:ALL command deletes all blocks. After this command is executed, the whole memory area consists of one block with the name ”NO NAME”. Group DATA Related Commands DATA:BLOCk:ADD, DATA:BLOCk:DEFine, DATA:BLOCk:DELete, DATA:BLOCk:REName, DATA:BLOCk:SIZe Syntax DATA:BLOCk:DELete:ALL Arguments None 2 24 DG2020A Programmer Manual...
  • Page 47 DATA:BLOCk:SIZe? query returns the size of the specified block. Group DATA Related Commands DATA:BLOCk:ADD, DATA:BLOCk:DEFine, DATA:BLOCk:DELete, DATA:BLOCk:DELete:ALL, DATA:BLOCk:REName Syntax DATA:BLOCk:SIZe <Name>,<Size> DATA:BLOCk:SIZe? <Name> Arguments <Name>::=<string> where <string> is a block name. <Size>::=<NR1> where <NR1> is a new block size. Responses [:DATA:BLOCK:SIZE] <Name>,<Size> 2 25 DG2020A Programmer Manual...
  • Page 48 LSB is the Least Significant bit where <NR1>is the low order bit for the group. Examples :DATA:GROUP:ADD "GROUP01",3,0 adds a group that consists of 4 bits, DATA00 to DATA03, and has the name GROUP01. 2 26 DG2020A Programmer Manual...
  • Page 49 <NR1>is the high order bit for the group. <LSB>::=<NR1> where <NR1>is the low order bit for the group. Responses [:DATA:GROUP:BIT] <Name>,<MSB>,<LSB> Examples :DATA:GROUP:BIT "GROUP02",7,4 changes the bit configuration for the group named GROUP02 to be DATA04 to DATA07. 2 27 DG2020A Programmer Manual...
  • Page 50 <LF>::=<ASCII line feed code (10)> Responses [:DATA:GROUP:DEFINE] <Groupblock> where <Groupblock> is a data block with the same format as the argument. Examples :DATA:GROUp:DEFine #238GROUP01,7,0<LF>GROUP02,11,8<LF>GROUP03,15,12 defines the three groups GROUP01, GROUP02, and GROUP03. 2 28 DG2020A Programmer Manual...
  • Page 51 The DATA:GROUp:DELete:ALL command deletes all group definitions. Group DATA Related Commands DATA:GROUp:ADD, DATA:GROUp:BIT, DATA:GROUp:DEFine, DATA:GROUp:DE Lete, DATA:GROUp:NAME?, DATA:GROUp:REName Syntax DATA:GROUp:DELete:ALL Arguments None DATA:GROUp:NAME? The DATA:GROUp:NAME? query returns the name of the group that includes the specified bit. Group DATA 2 29 DG2020A Programmer Manual...
  • Page 52 <string> is the name of the group before it is renamed. <To-groupname>::=<string> where <string> is the name of the group after it is renamed. Examples :DATA:GROUP:RENAME "GROUP03","GROUP04" changes the name of the group GROUP03 to be GROUP04. 2 30 DG2020A Programmer Manual...
  • Page 53 The DATA:PATTern:BIT command sets the data memory bit pattern section. Data is given in bit units. The DATA:PATTern:BIT? query returns the contents of the data memory bit pattern section. Group DATA Related Commands DATA:PATTern[:WORD] Syntax DATA:PATTern:BIT <Bit Position>,<Address>,<Length>,<Data> DATA:PATTern:BIT? <Bit Position>,<Address>,<Length> 2 31 DG2020A Programmer Manual...
  • Page 54 0 or 1. Data bits for the specified data length are stored in address order, with all bits expressed similarly in ASCII. The number of bytes in the block header will be equal to the length of the specified data. Responses [:DATA:PATTERN:BIT] <Bit Position>,<Address>,<Length>,<Data> 2 32 DG2020A Programmer Manual...
  • Page 55 The data block is formed by iterating this packing method for each word in order starting with the start address. Thus the number of bytes in the data block (excluding the header) will be 5 times the number of words. Responses [:DATA:PATTERN:WORD] <Address>,<Length>,<Data> 2 33 DG2020A Programmer Manual...
  • Page 56 0 if an external event occurs. In run modes other than enhanced mode, BLOCK3 will be executed 16 times and then control will switch to the next line number. 2 34 DG2020A Programmer Manual...
  • Page 57 However, note that rather than the ON and OFF keywords, only 0 and 1 are used for the <AWaitE>, <AJumpE>, and <ALoopE> items. Examples :DATA:SEQuence:DEFine #235BLOCK1,16,0,1,0,0<LF>BLOCK2,32,0,0,1,1 defines a two step sequence that consists of the two blocks BLOCK1 and BLOCK2. 2 35 DG2020A Programmer Manual...
  • Page 58 <NR1> is the line number of the sequence step to be deleted. Examples :DATA:SEQUENCE:DELETE 3 deletes the line 3 sequence step. DATA:SEQuence:DELete:ALL The DATA:SEQuence:DELete:ALL command deletes all sequence definitions. Group DATA Related Commands DATA:SEQuence:ADD, DATA:SEQuence:DEFine, DATA:SEQuence:DELete Syntax DATA:SEQuence:DELete:ALL Arguments None 2 36 DG2020A Programmer Manual...
  • Page 59 OFF or 0 sets the event jump to off. Responses [:DATA:SEQUENCE:EVJ] <Line Number>,{1 | 0} Examples :DATA:SEQUENCE:EVJ 8,ON sets the event jump state for the line 8 sequence step to on. 2 37 DG2020A Programmer Manual...
  • Page 60 <NR1> is the line number of the sequence step to be set. <Target>::=<NR1> where <NR1> is the line number of the jump destination sequence step. Responses [:DATA:SEQUENCE:EVJTO] <Line Number>,<Target> Examples :DATA:SEQUENCE:EVJTO 5,0 sets the line 5 sequence step event jump destination to line 0. 2 38 DG2020A Programmer Manual...
  • Page 61 9 sequence step to off. DATA:SEQuence:REPeat (?) The DATA:SEQuence:REPeat command sets the sequence step repeat count. The DATA:SEQuence:REPeat? query returns the repeat count set for the sequence step. Group DATA Related Commands DATA:SEQuence:EVJ, DATA:SEQuence:EVJTO, DATA:SEQuence:LOOP, DATA:SEQuence:TWAIT 2 39 DG2020A Programmer Manual...
  • Page 62 OFF or 0 sets the trigger wait state to off. Responses [:DATA:SEQUENCE:TWAIT] <Line Number>,{1 | 0} Examples :DATA:SEQUENCE:TWAIT 5,ON sets the line 5 sequence step trigger wait state to on. 2 40 DG2020A Programmer Manual...
  • Page 63 BLOCK3 at the sub sequence line number 2 position in the sub sequence named SUB1. DATA:SUBSequence:CLEAr The DATA:SUBSequence:CLEAr command clears all sub sequence definitions. Group DATA Related Commands DATA:SUBSequence:ADD, DATA:SUBSequence:DEFine, DATA:SUBSequence:DELete, DATA:SUBSequence:DELete:ALL Syntax DATA:SUBSequence:DELete:CLEAr Arguments None 2 41 DG2020A Programmer Manual...
  • Page 64 [:DATA:SUBSEQUENCE:DEFINE] <Subseq Block> where <Subseq Block> is a data block with the same format as the argument. Examples :DATA:SUBSEQUENCE:DEFINE #233SUB1,B1,16,B2,32<LF>SUB2,B3,2,B4,3 defines a two step sub sequence that consists of the two sub sequences SUB1 and SUB2. 2 42 DG2020A Programmer Manual...
  • Page 65 The DATA:SUBSequence:DELete:ALL command deletes the specified sub sequence definitions. Group DATA Related Commands DATA:SUBSequence:ADD, DATA:SUBSequence:CLEAr, DATA:SUBSequence:DEFine, DATA:SUBSequence:DELete Syntax DATA:SUBSequence:DELete:ALL <SName> Arguments <SName>::=<String> where <String> is a sub sequence name (surrounded in double (”) or single (’) quotes). 2 43 DG2020A Programmer Manual...
  • Page 66 <NR1> is the line number of the sequence step to be set. <Times>::=<NR1> where <NR1> is a repeat count (1 to 65536). Responses [:DATA:SUBSEQUENCE:REPEAT] <SName>,<Line Number>,<Times> Examples :DATA:SUBSEQUENCE:REPEAT "SUB1",5,8 sets the line 5 sequence step repeat count in the sub sequence named SUB1 to 8. 2 44 DG2020A Programmer Manual...
  • Page 67 The DEBug? query returns all current settings for the remote command debugging function. This query is equivalent to the DEBug:SNOop? query. Group SYSTEM Related Commands DEBug:SNOop?, DEBug:SNOop:DELAy:TIME, DEBug:SNOop:STATe Syntax DEBug? Arguments None Responses See Examples Examples DEBUG? might return :DEBUG:SNOOP:STATE 0; DELAY:TIME 0.2 2 45 DG2020A Programmer Manual...
  • Page 68 The DEBug:SNOop? query returns all current settings for the remote command debugging function. This query is equivalent to the DEBug? query. Group SYSTEM Related Commands DEBug?, DEBug:SNOop:DELAy:TIME, DEBug:SNOop:STATe Syntax DEBug:SNOop? Arguments None Responses See Examples Examples DEBUG:SNOOP? might return :DEBUG:SNOOP:STATE 0; DELAY:TIME 0.2 2 46 DG2020A Programmer Manual...
  • Page 69 This query is equivalent to the DEBug:SNOop:DELAy:TIME? query. Group SYSTEM Related Commands DEBug?, DEBug:SNOop?, DEBug:SNOop:DELAy:TIME?, DEBug:SNOop:STATe Syntax DEBug:SNOop:DELAy? Arguments None Responses [:DEBUG:SNOOP:DELAY]<Delay Time> where <Delay Time>::=<NR2> Examples DEBUG:SNOOP:DELAY? might return :DEBUG:SNOOP:DELAY:TIME 0.2 2 47 DG2020A Programmer Manual...
  • Page 70 <NR2> combined with [<unit>] specifies a time in the range 0.0 s to 10.0 s in steps of 0.1 s, and [<unit>]::={s|ms|ms}, for seconds, milliseconds, or microseconds. Examples :DEBUG:SNOOP:DELAY:TIME 0.5 sets the command display time to 0.5 seconds. 2 48 DG2020A Programmer Manual...
  • Page 71 80 (hexadecimal) would be displayed as <128>. Group SYSTEM Related Commands DEBug?, DEBug:SNOop?, DEBug:SNOop:DELAy?, DEBug:SNOop:TIME Syntax DEBug:SNOop:STATe {ON | OFF | <NR1>} DEBug:SNOop:STATe? Arguments ON or nonzero value enables the debugging function. OFF or zero value clears the debugging function. 2 49 DG2020A Programmer Manual...
  • Page 72 DESER bits to its binary equivalent. Examples :DESE 177 sets the DESER to 177 (binary 10110001), which sets the PON, CME, EXE and OPC bits. :DESE? might return :DESE 176, which indicates that the DESER contains the binary number 10110000. 2 50 DG2020A Programmer Manual...
  • Page 73 NOTE. The does not respond to any commands or queries issued during Self Test. 2 51 DG2020A Programmer Manual...
  • Page 74 Examples DIAGNOSTIC:RESULT? might return :DIAGNOSTIC:RESULT 200 2 52 DG2020A Programmer Manual...
  • Page 75 If all of the self-test routines are selected using the DIAGnostic:SELect command, self-testing continues with execution of the next self-test routine. Group DIAGNOSTIC Related Commands DIAGnostic:SELect, DIAGnostic:RESUlt? Syntax DIAGnostic:STATe EXECute 2 53 DG2020A Programmer Manual...
  • Page 76 Responses Returns the settings as a sequence of commands, suitable for sending as set commands later to restore a setup. See Examples. Examples DISPLAY? might return :DISPLAY:BRIGHTNESS 0.7;CLOCK 0;DIMMER 1;ENABLE 1;MENU:NAME SETUP;STATE 1;:DISPLAY:WINDOW:TEXT:DATA " " 2 54 DG2020A Programmer Manual...
  • Page 77 DISPlay:CLOCk {ON | OFF | 1 | 0} DISPlay:CLOCk? Arguments ON or 1 sets the data generator to display the date and time. OFF or 0 sets the data generator to not display the date and time. 2 55 DG2020A Programmer Manual...
  • Page 78 DISPlay:DIMmer {ON | OFF | 1 | 0} DISPlay:DIMmer? Arguments ON or 1 enables the dimmer function. OFF or 0 clears the dimmer function. Responses [:DISPLAY:DIMMER] {1 | 0} Examples :DISPLAY:DIMMER ON turns the dimmer function on. 2 56 DG2020A Programmer Manual...
  • Page 79 The DISPlay:MENU? query returns the type and display state of the selected menu. Group DISPLAY Related Commands DISPlay?, DISPlay:MENU[:NAME], DISPlay:MENU:NAME? Syntax DISPlay:MENU? Arguments None Responses [:DISPLAY:MENU:NAME] {SETUP | EDIT | APPLICATION | UTIL ITY};[STATE] {1 | 0} 2 57 DG2020A Programmer Manual...
  • Page 80 DISPlay:MENU[:NAME] {SETUp | EDIT | APPLication | UTILity} Arguments SETUp displays the setup menu EDIT displays the edit menu APPLication displays the application menu UTILity displays the utility menu Examples :DISPLAY:MENU:NAME UTILITY selects the UTILITY menu. 2 58 DG2020A Programmer Manual...
  • Page 81 DISPlay:MENU:STATe {ON | OFF | 1 | 0} DISPlay:MENU:STATe? Arguments ON or 1 Menus are displayed. OFF or 0 Menus are not displayed. Responses [:DISPLAY:MENU:STATE] {1 | 0} Examples DISPLAY:MENU:STATE ON sets the instrument to display menus on the screen. 2 59 DG2020A Programmer Manual...
  • Page 82 Command Descriptions DISPlay[:WINDow]:TEXT:CLEar The DISPlay[:WINDow]:TEXT:CLEar command clears the message display area on the screen. Group DISPLAY Related Commands DISPlay?, DISPlay[:WINDow]:TEXT[:DATA] Syntax DISPlay[:WINDow]:TEXT:CLEar Arguments None Examples :DISPLAY:WINDOW:TEXT:CLEAR clears the message display area. 2 60 DG2020A Programmer Manual...
  • Page 83 If the power on status flag is TRUE, the power-on default for the ESER is to reset all bits to zero. If this flag is set to FALSE, the ESER bits do not change value during the power-on cycle. Group STATUS & EVENT 2 61 DG2020A Programmer Manual...
  • Page 84 Status and Events for more information about *ESR? or SESR. Group STATUS & EVENT Related Commands *CLS, DESE, *ESE?, EVENT?, EVMsg?, EVQty?, *SRE, *STB? Syntax *ESR? Arguments None Examples *ESR? might return 181, which indicates that the SESR contains the binary number 10110101. 2 62 DG2020A Programmer Manual...
  • Page 85 *ESR? query to make the events available for dequeuing using EVMsg? For more details, refer to Section 3 Status and Events. Group STATUS & EVENT Related Commands *CLS, DESE, *ESE, *ESR?, EVENT?, EVQty?, *SRE, *STB? Syntax EVMsg? Arguments None Examples :EVMSG? might return :EVMSG 420,"Query UNTERMINATED". 2 63 DG2020A Programmer Manual...
  • Page 86 (See Appendix D, page D–1, for a list of the factory settings.) Group SYSTEM Related Commands *RST, SECUre Syntax FACTory Arguments None Examples :FACTORY resets the data generator to its factory default settings. 2 64 DG2020A Programmer Manual...
  • Page 87 HP inkjet printers. TIFF the TIFF format. Examples HCOPY? might return :HCOPY:FORMAT TIFF ; PORT DISK In this case the instrument outputs hardcopy data to file on the floppy disk in the TIFF format. 2 65 DG2020A Programmer Manual...
  • Page 88 However, note that this command has no effect on (and is not affected by) the hard copy output port setting. Group HARDCOPY Related Commands HCOPy:PORT Syntax HCOPy:DATA? Arguments None Responses [:HCOPY:DATA] <Image> where <Image>::=<block> the hardcopy image data block Examples :HCOPY:DATA? outputs hard copy data to the output queue. 2 66 DG2020A Programmer Manual...
  • Page 89 HP inkjet printers. TIFF the TIFF format. Responses [:HCOPY:FORMAT] {BMP | EPSON | EPSMONO | THINKJET | TIFF} Examples :HCOPY:FORMAT TIFF sets the data generator to output hard copy in the TIFF format. 2 67 DG2020A Programmer Manual...
  • Page 90 GPIB port. RS232c outputs to the RS-232C port. Responses [HCOPy:PORT] {DISK | GPIB | RS232c} Examples :HCOPY:PORT DISK sets the hard copy output to be to a file on the floppy disk. 2 68 DG2020A Programmer Manual...
  • Page 91 HEADer {ON | OFF | <NR1>} HEADer? Arguments ON or nonzero value enables the command header responses. OFF or zero value disables the command header responses. Responses command header responses are currently enabled. command header responses are currently disabled. 2 69 DG2020A Programmer Manual...
  • Page 92 The ID? query returns the ID information of the data generator. Group SYSTEM Related Commands *IDN? Syntax Arguments None Responses ID <Manufacturer>/<Model>, <Firmware Level> where <Manufacturer>::=SONY_TEK, <Model>::=DG2020A <Firmware Level>::=CF:<Code and Format Version>, and FV:<Firmware Version>. Examples :ID? returns SONY_TEK/DG2020A,CF:91.1CN,FV:1.00 2 70 DG2020A Programmer Manual...
  • Page 93 , and <sp>::= Space Examples *IDN? might return SONY/TEK,DG2020A,0,CF:91.1CN FV:1.00 LOCk (?) The LOCk command enables or disables the knob and all front panel buttons except the ON/STBY button. The LOCk? query returns a status indicating whether the knob and the buttons are locked or not.
  • Page 94 LOCk {ALL | NONe} LOCk? Arguments disables the front panel buttons and the knob except the ON/STBY button. NONe enables the front panel buttons and the knob. Examples :LOCk ALL disables the front panel buttons and the knob. 2 72 DG2020A Programmer Manual...
  • Page 95 Group MEMORY Related Commands MMEMory:CATalog[:ALL]? Syntax MMEMory:CATalog:ORDer {NAME1 | NAME2 | TIME1 | TIME2} MMEMory:CATalog:ORDer? Arguments NAME1 orders the display according to the ASCII collating sequence of the file names. 2 73 DG2020A Programmer Manual...
  • Page 96 Related Commands MMEMory:MDIRectory Syntax MMEMory:CDIRectory <Directory Path> MMEMory:CDIRectory? Arguments <Directory Path>::=<string> where <string> is the name of the new current working directory. Responses [:MMEMORY:CDIRECTORY] <Directory Path> Examples :MMEMORY:CDIRECTORY "\DG\WORK3" changes the current working directory to \DG\WORK3. 2 74 DG2020A Programmer Manual...
  • Page 97 The MMEMory:DELete:ALL command deletes all files and subdirectories in the current directory. However, non–empty subdirectories are not deleted. Group MEMORY Related Commands MMEMory:DELete[:NAME] Syntax MMEMory:DELete:ALL Arguments None Examples :MMEMORY:DELETE:ALL deletes all files and empty subdirectories in the current directory. 2 75 DG2020A Programmer Manual...
  • Page 98 This query is equivalent to the MMEMory:FREE:ALL? query. Group MEMORY Related Commands Syntax MMEMory:FREE? Arguments None Responses :MMEMORY:FREE <Used Size>, <Unused Size> where <Used Size>::=<NR1> and <Unused Size>::=<NR1>. Examples :MMEMORY:FREE? might return :MMEMORY:FREE 104584,1352704 2 76 DG2020A Programmer Manual...
  • Page 99 :MMEMORY:INITIALIZE HD3 formats a floppy disk for IBM PC 2HD. MMEMory:LOAD The MMEMory:LOAD command loads in pattern data and block, group, sequence, and setup information in DG2020A format into the instrument’s internal memory from a disk file. Group MEMORY Related Commands...
  • Page 100 <string> is the name of the file to be locked or unlocked. ON or 1 locks the file. OFF or 0 unlocks the file. Responses the file is not locked. the file is locked. Examples :MMEMORY:LOCK "COUNT1.PDA",ON locks the file COUNT1.PDA in the current directory. 2 78 DG2020A Programmer Manual...
  • Page 101 MEMORY Related Commands MMEMory:CDIRectory, MMEMory:MDIRectory Syntax MMEMory:RDIRectory <Directory Path> Arguments <Directory Path>::=<string> where <string> is the name of the directory to be removed. Examples :MMEMORY:RDIRECTORY WORK4" removes the directory WORK4 in the current working directory. 2 79 DG2020A Programmer Manual...
  • Page 102 COUNT1.PDA in the current working directory to COUNT2.PDA. MMEMory:SAVE The MMEMory:SAVE command saves the pattern data and block, group, sequence, and setup information stored in the internal memory into a disk file in DG2020A format. Group MEMORY...
  • Page 103 Pattern data output is performed exactly once. STEp Pattern data is output not according to the internal clock, but rather by a clock signal created by the STEP key. ENHanced Pattern data is output according to the defined sequence. 2 81 DG2020A Programmer Manual...
  • Page 104 MANual Pattern output is not changed when data is changed until an update forcing command is received. Responses [:MODE:UPDATE] {AUTO | MANUAL} Examples :MODE:UPDATE AUTO sets the output pattern update method to AUTO. 2 82 DG2020A Programmer Manual...
  • Page 105 Group SYNCHRONIZATION Related Commands *WAI Syntax *OPC *OPC? Arguments None Examples HCOPY:PORT DISK;HCOPY START;*OPC causes the SESR bit 0 to be set and the operation complete message to be issued on the completion of hardcopy. 2 83 DG2020A Programmer Manual...
  • Page 106 The OUTPUT? query returns all settings rerated to the channel and clock outputs. Group OUTPUT Related Commands DATA? Syntax OUTPut? Arguments None Examples OUTPUT? might return (when the POD A is only available and the TTL pod is connected to the POD A connector) 2 84 DG2020A Programmer Manual...
  • Page 107 :OUTPUT:PODA:CH7:HIGH 0.500;LOW -0.500;DELAY 0.00E-0.9;INHIBIT 0;ASSIGN 7; :OUTPUT:PODA:CH8:HIGH 0.500;LOW -0.500;DELAY 0.00E-0.9;INHIBIT 0;ASSIGN 8; :OUTPUT:PODA:CH9:HIGH 0.500;LOW -0.500;DELAY 0.00E-0.9;INHIBIT 0;ASSIGN 9; :OUTPUT:PODA:CH10:HIGH 0.500;LOW -0.500;DELAY 0.00E-0.9;INHIBIT 0;ASSIGN 10; :OUTPUT:PODA:CH11:HIGH 0.500;LOW -0.500;DELAY 0.00E-0.9;INHIBIT 0;ASSIGN 11; :OUTPUT:PODA:TYPE VAR;DEFINE #2750,0,0<LF>1,1,0<LF>2,2,0<LF>3,3,0<LF> 4,4,0<LF>5,5,0<LF>6,6,0<LF>7,7,0<LF>8,8,0<LF>9,9,0<LF>10,10,0<LF>11,11,0; :OUTPUT:ELEVEL 0.5;ILEVEL 0.5 2 85 DG2020A Programmer Manual...
  • Page 108 The OUTPut:ILEVel? query returns the pod high–impedance control input threshold level setting. Group OUTPUT Related Commands Syntax OUTPut:ILEVel <Volt> OUTPut:ILEVel? Arguments <Volt>::=<NR2>[<Unit>] where <Unit>::={V | mV} with a range of –5.0 V to 5.0 V in 0.1 V steps. Responses [OUTPUT:ILEVEL] <Volt> 2 86 DG2020A Programmer Manual...
  • Page 109 The delay time can only be set for channels 8 through 11. The OUTPut:POD<s>:CH<n>:DELAy? query returns delay time setting for the specified channel of the specified pod. Group OUTPUT Related Commands 2 87 DG2020A Programmer Manual...
  • Page 110 <Volt>::=<NR2>[<Unit>] where <NR2> combined with [<Unit>]specifies a high–level voltage; and <Unit>::={V | mV}, for volt or millivolt. Responses [:OUTPUT:POD<s>:CH<n>:HIGH] <Volt> Examples :OUTPUT:PODA:CH11:HIGH 1V sets the pod A channel 11 high–level output voltage to 1 V. 2 88 DG2020A Programmer Manual...
  • Page 111 (INH). Responses [:OUTPUT:POD<s>:CH<n>:INHIBIT] {0 | 1 | 2 | 3} Examples :OUTPUT:PODA:CH6:INHIBIT EXTERNAL sets the output impedance of pod A channel 6 to be controlled by an external input signal (INH). 2 89 DG2020A Programmer Manual...
  • Page 112 <Volt>::=<NR2>[<Unit>] where <NR2> combined with [<Unit>]specifies a low–level voltage; and <Unit>::={V | mV}, for volt or millivolt. Responses [:OUTPUT:POD<s>:CH<n>:LOW] <Volt> Examples :OUTPUT:PODC:CH7:LOW -1V sets the pod C channel 7 low–level output voltage to –1 V. 2 90 DG2020A Programmer Manual...
  • Page 113 Group OUTPUT Related Commands OUTPut:POD<s>:CH<n>:ASSIGn, OUTPut:POD<s>:CH<n>:RELEase Syntax OUTPut:POD<s>:DEFine <Assigninfo> OUTPut:POD<s>:DEFine? (<s>::={A | B | C}) Arguments <Assigninfo>::=<blockheader><Assign>[<LF><Assign][<LF><As sign>]... arbitrary block data that defines the pod channel assignments where, <blockheader>::=<byte count digit><byte count> <Assign>::=<AChannel>,<ABit>,<AHoldE> 2 91 DG2020A Programmer Manual...
  • Page 114 Channel 0: Bit 4, high–impedance state controlled by the channel 0 signal Channel 1: Bit 5, high–impedance state controlled by an external input signal Channel 2: Bit 7, no high–impedance control Other channels: Assignments cleared 2 92 DG2020A Programmer Manual...
  • Page 115 Responses [OUTPut:POD<s>:TYPE] {NONE | TTL | VAR} where NONE no pod a TTL level pod a variable level pod Examples :OUTPut:POD<s>:TYPE? might return :OUTPUT:PODA:TYPE TTL, which indicates that pod A is a TTL level pod. 2 93 DG2020A Programmer Manual...
  • Page 116 FALSE. Examples *PSC 1 sets the power-on status flag to TRUE. *PSC? might return :0 to indicate that the power-on status clear flag is currently set to FALSE. 2 94 DG2020A Programmer Manual...
  • Page 117 The RUNNing? query returns status that indicates whether or not pattern data (or a sequence) is being output. Group MODE Related Commands STARt, STOP Syntax RUNNing? Arguments None Responses pattern data or a sequence is being output. nothing is being output. Examples :RUNNING? might return :RUNNING 1. 2 95 DG2020A Programmer Manual...
  • Page 118 The SOURce:OSCillator:EXTernal:FREQuency command enters the frequency of the externally supplied clock signal. The SOURce:OSCillator:EXTer nal:FREQuency? query returns the externally supplied clock signal frequency setting. Group SOURCE Related Commands SOURce[:OSCillator]?, SOURce:OSCillator[:INTernal]:FREQuency, SOURce:OSCillator[:INTernal]:PLLlock, SOURce:OSCillator:SOURce Syntax SOURce:OSCillator:EXTernal:FREQuency <Frequency> SOURce:OSCillator:EXTernal:FREQuency? 2 96 DG2020A Programmer Manual...
  • Page 119 <NR3> is a decimal number that combines with [<Unit>] to have a range of 10.00E–3X200.0E+6Hz, and [<Unit>]::={Hz | kHz | MHz}, for hertz, kilohertz or megahertz. Responses [:SOURCE:OSCILLATOR:INTERNAL:FREQUENCY] <NRf>HZ Examples :SOURCE:OSCILLATOR:INTERNAL:FREQUENCY 100MHZ sets the internal clock oscillator frequency to 100 MHz. 2 97 DG2020A Programmer Manual...
  • Page 120 SOURce:OSCillator:SOURce? query returns whether the internal clock oscillator or an external clock input signal is used as the clock signal source. Group SOURCE Related Commands SOURce[:OSCillator]?, SOURce:OSCillator:EXTernal:FREQuency, SOURce:OSCillator[:INTernal]:FREQuency, SOURce:OSCillator[:INTernal]:PLLlock Syntax SOURce:OSCillator:SOURce {INTernal | EXTernal} SOURce:OSCillator:SOURce? 2 98 DG2020A Programmer Manual...
  • Page 121 (<s>::={A | B | C}) Arguments ON or 1 enables the EVENT input. OFF or 0 disables the EVENT input. Responses [:SOURCE:POD<s>:EVENT:ENABLE] {1 | 0} Examples :SOURCE:PODB:EVENT:ENABLE ON enables the EVENT input of the pod B. 2 99 DG2020A Programmer Manual...
  • Page 122 Examples *SRE 48 sets the SRER to 48 (binary 00110000), which sets the ESB and MAV bits. *SRE? might return 32 which indicates that the SRER contains the binary number 00100000. 2 100 DG2020A Programmer Manual...
  • Page 123 Related Commands *CLS, DESE, *ESE, *ESR, EVENT?, EVMsg?, EVQty?, *SRE Syntax *STB? Arguments None Responses <NR1> which is a decimal number. Examples *STB? might return 96, which indicates that the SBR contains the binary number 01100000. 2 101 DG2020A Programmer Manual...
  • Page 124 The SYSTem:DATE command sets the internal clock date. The SYSTem:DATE? query returns the internal clock date. Group SYSTEM Related Commands SYSTem:TIME Syntax SYSTem:DATE <Year>,<Month>,<Day> SYSTem:DATE? Arguments <Year>::=<NR1> the year <Month>::=<NR1> the month <Day>::=<NR1> the day Responses [:SYSTEM:DATE] <Year>,<Month>,<Day> Examples :SYSTEM:DATE 95,5,15 sets the date. 2 102 DG2020A Programmer Manual...
  • Page 125 Bit patterns, groups, blocks, and sequences are included in the erased data. The GPIB and RS-232-C settings, and the data and time settings are not reset. Group SYSTEM Related Commands FACTory, *RST Syntax SYSTem:SECurity:IMMediate 2 103 DG2020A Programmer Manual...
  • Page 126 :SYSTEM:SECURITY:STATE ON sets the security state to on. SYSTem:TIME (?) The SYSTem:TIME command sets the internal clock time. The SYSTem:TIME? query returns the internal clock time. Group SYSTEM Related Commands SYSTem:DATE Syntax SYSTem:TIME <Hour>,<Minute>,<Second> SYSTem:TIME? 2 104 DG2020A Programmer Manual...
  • Page 127 *TRG Arguments None Examples *TRG generates trigger event. TRIGger? The TRIGger? query returns all of the currently specified settings related to the trigger function. Group MODE Related Commands TRIGger:IMPedance, TRIGger:LEVel, TRIGger:SLOPe Syntax TRIGger? Arguments None 2 105 DG2020A Programmer Manual...
  • Page 128 The TRIGger:LEVel command sets the level on the external trigger at which the trigger event is generated. The TRIGger:LEVel? query returns the level currently set. Group MODE Related Commands TRIGger:IMPedance, TRIGger:SLOPe Syntax TRIGger:LEVel <Level> TRIGger:LEVel? 2 106 DG2020A Programmer Manual...
  • Page 129 Group MODE Related Commands TRIGger:IMPedance, TRIGger:LEVel Syntax TRIGger:SLOPe {POSitive | NEGative} TRIGger:SLOPe? Arguments POSitive selects rising edge. NEGative selects falling edge. Examples :TRIGGER:SLOPE POSITIVE selects rising edge for trigger. 2 107 DG2020A Programmer Manual...
  • Page 130 Detected an error in the trigger unit. Detected an error in the sequence memory. Detected an error in the pattern memory. Examples *TST? might return 200 to indicate that errors were detected in the display unit. 2 108 DG2020A Programmer Manual...
  • Page 131 The UPTIme? query returns the time elapsed since the data generator was powered on. Group SYSTEM Related Commands None Syntax UPTime? Arguments None Examples :UPTIME 7.016 indicates the instrument has been powered on for 7.016 hours. 2 109 DG2020A Programmer Manual...
  • Page 132 Responses are decimal numbers (<NR1>) and are defined as follows. Long header is currently selected. Short header is currently selected. Examples :VERBOSE ON sets long header for query responses. :VERBOSE? might return :VERBOSE 1, which indicates that the long response header is currently selected. 2 110 DG2020A Programmer Manual...
  • Page 133 The *WAI common command prevents the data generator from executing any further commands or queries until all pending operations are completed. Group SYNCHRONIZATION Related Commands *OPC Syntax *WAI Arguments None Examples *WAI prevents the execution of any commands or queries until all pending operations complete. 2 111 DG2020A Programmer Manual...
  • Page 134 Command Descriptions 2 112 DG2020A Programmer Manual...
  • Page 135: Figure 2-3: Gpib: Retrieving Response Messages

    The method used for retrieving response messages differs depending on whether a GPIB interface or an RS-232-C interface is used. Figures 2-3 and 2-4 give an overview of these methods. DG2020A Data Generator Controller Î Î Î Î Î Î Î Î Î Î...
  • Page 136 CRT immediately after the query command is typed in. Unlike the GPIB interface, if an RS-232-C interface is used, response messages will never be deleted even if query commands are sent one after another. 2 114 DG2020A Programmer Manual...
  • Page 137 Status and Event Reporting...
  • Page 139: Status And Event Reporting

    Status and Event Reporting This section describes how the DG2020A Data Generator reports its status and internal events for both the GPIB and RS-232-C interfaces. It describes the elements that comprise the status and events reporting system and explains how status and events are handled.
  • Page 140: Figure 3-1: Standard Event Status (Sesr)

    (This is the usage prescribed by the IEEE Std. 488.1.) 0 (LSB) OPC (Operation Complete). Indicates that the operation is complete. This bit is set when all pending operations complete following a *OPC command. DG2020A Programmer Manual...
  • Page 141: Figure 3-2: Status Byte Register (Sbr)

    When operating over the RS 232 C interface, you can read the contents of the SBR using the *STB? query. However, this bit (ESB) is the only SBR bit of any signifi cance to RS 232 C operation. DG2020A Programmer Manual...
  • Page 142: Figure 3-3: Device Event Status Enable Register (Deser)

    (ESB) in the SBR. Use the *ESE command to set the bits in the ESER. Use the *ESE? query to read PON URQ CME EXE DDE QYE RQC OPC Figure 3 4: event status enable register (ESER) DG2020A Programmer Manual...
  • Page 143: Figure 3-5: Service Request Enable Register (Srer)

    To read out from the Event Queue, do the following steps. 1. Send *ESR? To read out the contents of SESR. When the contents of SESR are read out, SESR is cleared allowing you to take out events from the Event Queue. DG2020A Programmer Manual...
  • Page 144: Processing Sequence

    MAV bit would not become set in the sequence just described. Rather, response messages are sent to the output buffer for immediately transfer to the external controller on the output line. Message transfer is automatic and it is not necessary to use commands to retrieve these messages. DG2020A Programmer Manual...
  • Page 145: Figure 3-6: Status And Event Handling Process Overview

    *STB? clear with *CLS Service Request Generation & & & & & & & & & & & & & Service Request Enable Register set with *SRE? clear with *SRE Figure 3 6: Status and event handling process overview DG2020A Programmer Manual...
  • Page 146 Status and Event Reporting DG2020A Programmer Manual...
  • Page 147: Table 3-3: Definition Of Event Codes

    Query Errors 400-499 System event and query errors Execution Warnings 500-599 Execution warnings Reserved 600-1999 (unused) Extended Execution Errors 2000-2999 Device dependent command execution errors Extended 3000-3999 Device dependent device errors Device Specific Errors Reserved 4000- (unused) DG2020A Programmer Manual...
  • Page 148: Table 3-4: Normal Condition

    Header separator error Program mnemonic too long Undefined header Header suffix out of range Query not allowed Numeric data error Invalid character in number Exponent too large Too many digits Numeric data not allowed Suffix error 3 10 DG2020A Programmer Manual...
  • Page 149 String data not allowed Block data error Invalid block data Block data not allowed Expression error Invalid expression Expression data not allowed Macro error Invalid outside macro definition Invalid inside macro definition Macro parameter error 3 11 DG2020A Programmer Manual...
  • Page 150: Table 3-6: Execution Errors (Exe Bit:4)

    Parameter over range Parameter rounded Data corrupt or stale Data questionable Hardware error Hardware missing Mass storage error Missing mass storage Missing media Corrupt media Media full Directory full File name not found File name error 3 12 DG2020A Programmer Manual...
  • Page 151 Macro definition too long Macro recursion error Macro redefinition not allowed Macro header not found Program error Cannot create program Illegal program name Illegal variable name Program currently running Program syntax error Program run time error 3 13 DG2020A Programmer Manual...
  • Page 152: Table 3-7: Internal Device Errors (Dde Bit:3)

    Table 3 8: System event and query errors Code Description Power on Operation complete User request Power fail Request control Query INTERRUPTED Query UNTERMINATED Query DEADLOCKED Query UNTERMINATED after indefinite response 3 14 DG2020A Programmer Manual...
  • Page 153: Table 3-9: Warnings (Exe Bit:4)

    Pattern data byte count error 2023 Pattern data load error 2024 Internal pattern memory full 2025 Invalid pattern size 2026 Invalid pattern data 2030 Sequence error 2032 Too much sequence data 2033 Invalid sequence repeat count 3 15 DG2020A Programmer Manual...
  • Page 154 Illegal block size 2076 Block name already exists 2077 Block is not defined 2078 Too much block data 2079 Invalid block syntax 2080 Import error 2081 Code table syntax error 2082 Too much table data 3 16 DG2020A Programmer Manual...
  • Page 155: Table 3-11: Extended Device Specific Errors

    2102 Hardcopy timeout error 2200 Message error Table 3-11 lists device error messages that are specific to the device. Table 3 11: Extended device specific errors Code Description 3001 RS 232 C input buffer overflow 3 17 DG2020A Programmer Manual...
  • Page 156 Messages 3 18 DG2020A Programmer Manual...
  • Page 157 Programming Examples...
  • Page 159: Programming Examples

    This program is provided in both C and BASIC versions. putbit Transfers bit units pattern data stored in a file by the getbit program described above to DG2020A data memory. This is an example of a program that writes bit pattern data. getword Reads out bit patterns from the DG2020A memory in word units and displays that data on the screen.
  • Page 160: Required Execution Environment

    Programming Examples putgrp Sets up a group definition section in the DG2020A data memory using data from a file prepared in advance. This program presents an example of the use of the group definition command. putseq Sets up a sequence definition section in the DG2020A data memory using data from a file prepared in advance.
  • Page 161 GPIB command file that performs output pod bit allocation poddelay.cmd GPIB command file that sets the output pod delay times podinhib.cmd GPIB command file for output pod high-impedance control podlevel.cmd GPIB command file that sets the output pod output voltage levels DG2020A Programmer Manual...
  • Page 162: Installing And Compiling The Programs

    Studio. Select File from the Open Workspace menu in the Microsoft Developer. When the compiler environment has been installed properly, you can just click the project workspace file in the Explorer window to compile the sample program source code. DG2020A Programmer Manual...
  • Page 163 4. If following the above procedures did not result in the compilation complet- ing correctly, check that there is adequate free space on the hard disk and that the compiler is installed correctly. In particular, check that the path setting is correct. DG2020A Programmer Manual...
  • Page 164: Sample Program Functions And Usage

    Getbit This program reads out bit pattern data from DG2020A data memory in bit units and displays that data on the screen. The bit number (0 to 35) to be read out is specified as command line arguments. If multiple arguments are specified separated by spaces, the bit data is displayed in the specified order.
  • Page 165 Programming Examples Putbit This program sends bit pattern data to the DG2020A data memory in bit units. Data input is from a file in a unique format. This command has the following syntax, with the input data file name being specified as a parameter.
  • Page 166 Programming Examples Putword This program sends bit pattern data to the DG2020A data memory in word units. Data input is from a file in a unique format. This command has the following syntax, with the input data file name being specified as a parameter.
  • Page 167 Putseq This program sends sequence definition data to the DG2020A data memory. Data input is from a file in a unique format. This command has the following syntax, with the input data file name being specified as a parameter.
  • Page 168 Programming Examples DG2020A on the screen. The command has the following syntax, in which the argument specifies the device name registered in the GPIB driver system. The device dev1 is used as the default if the argument is omitted. intcom [device] When this program is started it displays its own prompt and waits for input.
  • Page 169 H Redirection commands The following commands can be used to switch standard input or standard output to a file and thus realize communications between the DG2020A and a file or files. <filename Sends the contents of the file specified by filename to the DG2020A directly without modification.
  • Page 170 Programming Examples 4 12 DG2020A Programmer Manual...
  • Page 171 Appendices...
  • Page 173: Table A-1: Dg2020A Character Set

    Appendix A: Character Charts Table A-1: DG2020A character set space " & < > rubout DG2020A Programmer Manual...
  • Page 174: Table A-2: Ascii & Gpib Code Chart

    1 1 1 1 (DEL) ADDRESSED UNIVERSAL LISTEN TALK SECONDARY ADDRESSES COMMANDS COMMANDS ADDRESSES ADDRESSES OR COMMANDS Tektronix octal GPIB code (with ATN asserted) REF: ANSI STD X3.4 1977 ASCII character IEEE STD 488.1 1987 decimal ISO STD 646 2973 DG2020A Programmer Manual...
  • Page 175: Appendix B: Reserved Words

    Appendix B: Reserved Words The words in the following list are reserved words for use with the DG2020A Data Generator. ABORt ENABle LOCk SELect ABSTouch LOOP SEQuence SIZe EVENT MDIRectory SLOpe ALLEv MENU SNOop ASSIGn EVJTO MMEMory SOURce EVMsg MODE...
  • Page 176 Appendix B: Reserved Words DG2020A Programmer Manual...
  • Page 177: Table C-1: Gpib Interface Function Implementation

    Appendix C: Interface Specification This appendix lists and describes the GPIB functions and messages that the DG2020A Data Generator implements. Interface Functions Table C–1 shows which GPIB interface functions are implemented in this instrument. Following the table is a brief description of each function.
  • Page 178: Table C-2: Gpib Interface Messages

    E2 indicates the electrical interface uses three-state drivers. Interface Messages Table C–2 lists the GPIB Universal and Addressed commands that the DG2020A Data Generator implements. A brief description of each function follows the table. Table C-2: GPIB interface messages...
  • Page 179 Disable (PPD), which are placed on the bus following the PPC command. PPE enables a device with parallel poll capability to respond on a particular data line. PPD disables the device from responding to the parallel poll. DG2020A Programmer Manual...
  • Page 180 Appendix C: Interface Specification DG2020A Programmer Manual...
  • Page 181: Table D-1: Factory Initialized Settings

    Default settings DATA commands DATA:MSIZe 1000 DIAGNOSTIC commands DIAG:SELect DISPLAY commands DISPlay:BRIGhtness DISPlay:CLOCk DISPlay:DIMmer DISPlay:ENABle DISPlay:MENU[:NAME] EDIT DISPlay:MENU:STATe HARDCOPY commands HCOPy:FORMat HCOPy:PORT DISK MEMORY commands MMEMory:CATalog:ORDer NAME1 MODE commands MODE:STATe REPEAT MODE:UPDate AUTO TRIGger:IMPedance HIGH TRIGger:LEVel TRIGger:SLOPe POSITIVE DG2020A Programmer Manual...
  • Page 182 OUTPUT commands OUTPut:ELEVel OUTPut:ILEVel OUTPut:POD<s>:CH<n>:DELAy OUTPut:POD<s>:CH<n>:HIGH OUTPut:POD<s>:CH<n>:INHibit OUTPut:POD<s>:CH<n>:LOW SOURCE commands SOURce:OSCillator:EXTernal:FREQuency 1.0E+8 SOURce:OSCillator[:INTernal]:FRE 1.0E+8 Quency SOURce:OSCillator[:INTernal]:PLLlock INTERNAL SOURce:OSCillator:SOURce SOURce:POD<s>:EVENT:ENABle STATUS & EVENT commands DESE *ESE *PSC *SRE SYSTEM commands DEBug:SNOop:DELAy:TIME DEBug:SNOop:STATe HEADer LOCk NONE SYSTem:PPAUse SYSTem:SECurity:STATe VERBose DG2020A Programmer Manual...
  • Page 183 Glossary & Index...
  • Page 185 Acronym for General Purpose Interface Bus, the common name for the communications interface system defined in IEEE Std 488. IEEE Acronym for the Institute for Electrical and Electronic Engineers. QuickC A computer language (distributed by Microsoft) that is based on C. Glossary-1 DG2020A Programmer Manual...
  • Page 186 Glossary Glossary-2 DG2020A Programmer Manual...
  • Page 187 DATA:MSIZe, 2-31 DATA:SUBSequence:REPeat, 2-44 DATA:PATTern:BIT, 2-31 DATA:UPDate, 2-45 DATA:PATTern[:WORD], 2-33 DEBug?, 2-45 DATA:SEQuence:ADD, 2-34 DEBug:SNOop?, 2-46 DATA:SEQuence:DEFine, 2-35 DEBug:SNOop:DELAy?, 2-47 DATA:SEQuence:DELete, 2-36 DEBug:SNOop:DELAy:TIME, 2-48 DATA:SEQuence:DELete:ALL, 2-36 DEBug:SNOop:STATe, 2-49 DATA:SEQuence:EVJ, 2-37 Default Settings, D–1 DATA:SEQuence:EVJTO, 2-38 DATA:SEQuence:LOOP, 2-39 Index-1 DG2020A Programmer Manual...
  • Page 188 HCOPy:PORT, 2-68 Enable Registers, Defined, 3-1, 3-4 HCOPy:STARt, 2-69 Error, No events, 3-10 HEADer, 2-69 Error Messages, Listed, 3-9 *ESE, 2-61, 3-4 ESER register, 3-4 *ESR?, 2-62 ID?, 2-70 *ESR? query, 3-1 *IDN?, 2-71 Event handling, 3-1 Index-2 DG2020A Programmer Manual...
  • Page 189 Mode commands Queue *TRG, 2-105 Event, 3-5 MODE, 2-81 Output, 3-5 MODE:STATe, 2-81 MODE:UPDate, 2-82 RUNNing, 2-95 STARt, 2-101 STOP, 2-102 Register TRIGger?, 2-105 DESER, 3-4 TRIGger:IMPedance, 2-106 ESER, 3-4 TRIGger:LEVel, 2-106 SESR, 3-1 TRIGger:SLOpe, 2-107 Index-3 DG2020A Programmer Manual...
  • Page 190 *TRG, 2-105 *SRE, 2-100 TRIGger?, 2-105 *STB?, 2-101 TRIGger:IMPedance, 2-106 ALLEv?, 2-20 TRIGger:LEVel, 2-106 DESE, 2-50 TRIGger:SLOpe, 2-107 EVENT?, 2-63 *TST?, 2-108 EVMsg?, 2-63 EVQty?, 2-64 Status and error commands DESE, 3-4 UNLock, 2-109 *ESE, 3-4 Index-4 DG2020A Programmer Manual...
  • Page 191 Index UPTime, 2-109 *WAI, 2-111 Where to find other information, v VERBose, 2-110 Index-5 DG2020A Programmer Manual...
  • Page 192 Index Index-6 DG2020A Programmer Manual...

Table of Contents