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.
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.
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...
(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...
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...
(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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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.
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...
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...
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...
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...
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...
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...
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...
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 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 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 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...
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...
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.
(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...
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...
(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...
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...
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...
*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...
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...
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...
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...
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...
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.
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...
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...
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.
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...
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.
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 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...
Need help?
Do you have a question about the DG2020A and is the answer not in the manual?
Questions and answers