User`s manual
180 OUTPUT @Afg;"SOUR:FREQ1:FIX 200E3;"; !frequency
190 OUTPUT @Afg;":SOUR:FUNC:SHAP USER;"; !function
200 OUTPUT @Afg;":SOUR:VOLT:LEV:IMM:AMPL 5.11875V" !amplitude
210 !
220 CALL Ramp_wave
230 !
240 OUTPUT @Afg;"SOUR:FUNC:USER RAMP_OUT" !waveform sequence
250 OUTPUT @Afg;"INIT:IMM" !wait-for-arm state
260 !
270 WAIT .1!allow interrupt to be serviced
280 OFF INTR 7
290 END
300 !
310 SUB Ramp_wave
320 Ramp_wave: !Subprogram which defines a ramp waveform with a marker
330 !pulse and the output sequence.
340 COM @Afg,@Afg1
350 INTEGER Waveform(1:200) !Calculate waveform points as dac codes
360 FOR I=100 TO -99 STEP -1
370 IF I<0 THEN !dac codes for voltages < 0V
380 Waveform(101-I)=(I*.050505)/.00125
390 !shift bits to dac code positions
400 Waveform(101-I)=(SHIFT(Waveform(101-I),-3))+32768.
410 END IF
420 IF I=0 THEN !0V dac code and marker pulse
430 Waveform(101)=-32766 !set marker bit with this amplitude point
440 END IF
450 IF I>0 THEN !dac codes for voltages > 0V
460 Waveform(101-I)=(I*.050505)/.00125
470 !shift bits to dac code positions
480 Waveform(101-I)=(SHIFT(Waveform(101-I),-3))-32768.
490 END IF
500 NEXT I
510 !
520 OUTPUT @Afg;"SOUR:ARB:DAC:SOUR INT" !dac data source
530 OUTPUT @Afg;"SOUR:ARB:DAC:FORM UNS" !dac data format (unsigned)
540 OUTPUT @Afg;"SOUR:MARK:FEED ""SOUR:LIST1""" !define marker output
550 OUTPUT @Afg;"SOUR:LIST1:SEGM:SEL RAMP" !segment name
560 OUTPUT @Afg;" SOUR:LIST1:SEGM:DEF 200" !segment size
570 OUTPUT @Afg USING "#,K";"SOUR:LIST1:SEGM:COMB #0"
580 OUTPUT @Afg1;Waveform(*) !indefinite length block
590 OUTPUT @Afg;CHR$(10);END !terminate with line feed (LF) and EOI
600 !
610 OUTPUT @Afg;"SOUR:LIST1:SSEQ:SEL RAMP_OUT" !sequence name
620 OUTPUT @Afg;" SOUR:LIST1:SSEQ:DEF 1" !sequence size
630 OUTPUT @Afg;" SOUR:LIST1:SSEQ:SEQ RAMP" !segment order
640 SUBEND
650 !
660 SUB Rst
670 Rst: !Subprogram which resets the E1445.
Continued on Next Page
248 High Speed Operation Chapter 7