Chapter 6 Command Reference 239
SSAC, SSDC
90 OUTPUT @Dvm; "SSDC 10" !SUB-SAMPLING, 10V RANGE, DC-COUPLED
100 OUTPUT @Dvm; "SWEEP 5E - 6,200"!5µs EFF. INTERVAL, 200 SAMPLES
110 TRANSFER @Dvm TO @Samp;WAIT !TRANSFER SAMPLES TO CONTROLLER BUFFER
120 FOR I=1 TO 200
130 IF ABS(Samp(I))=1E+38 THEN !DETECT OVERLOAD
140 PRINT "Overload Occurred" !PRINT OVERLOAD MESSAGE
150 ELSE !IF NO OVERLOAD OCCURRED:
160 Samp(I)=DROUND(Samp(I),5) !ROUND TO 5 DIGITS
170 PRINT Samp(I) !PRINT EACH SAMPLE
180 END IF
190 NEXT I
200 END
In the program on the following page, the SSAC command is used to digitize a
10 kHz signal with a peak value of 5V. The SWEEP command instructs the
multimeter to take 1000 samples (Num_samples variable) with a 2µs
effective_interval (Eff_int variable). The measurement uses the default level
triggering for the sync source event (trigger from input signal, 0%, AC-coupling,
positive slope). Line 120 generates a SYN event and transfers the samples directly
to the computer. Lines 240 through 410 sort the sub-sampled data to produce the
composite waveform. The composite waveform is stored in the Wave_form array.
10 OPTION BASE 1 !COMPUTER ARRAY NUMBERING STARTS AT 1
20 INTEGER Num_samples,Inc,I,J,K,L!DECLARE VARIABLES
30 Num_samples=l000 !DESIGNATE NUMBER OF SAMPLES
40 Eff_int=2.0E-6 !DESIGNATE EFFECTIVE INTERVAL
50 INTEGER Int_samp(1:1OOO) BUFFER!CREATE INTEGER BUFFER
60 ALLOCATE REAL Wave_form(1:Num_samples)!CREATE ARRAY FOR SORTED DATA
70 ALLOCATE REAL Samp(1:Num_samples)!CREATE ARRAY FOR SAMPLES
80 ASSIGN @Dvm TO 722 !ASSIGN MULTIMETER ADDRESS
90 ASSIGN @Int_samp TO BUFFER Int_samp(*)!ASSIGN BUFFER I/O PATH NAME
100 OUTPUT @Dvm;"PRESET FAST;LEVEL;SLOPE;SSRC LEVEL;SSDC 10"
101 !FAST OPERATION, TARM SYN, LEVEL SYNC SOURCE 0V, POSITIVE SLOPE
105 !(DEFAULT VALUES) SUB-SAMPLING(SINT OUTPUT FORMAT), 10V RANGE
110 OUTPUT @Dvm;"SWEEP ";Eff_int,Num_samples
115 !2µs EFFECTIVE INTERVAL, 1000 SAMPLES
120 TRANSFER @Dvm TO @Int_samp;WAIT!SYN EVENT,TRANSFER READINGS INTO
121 !INTEGER ARRAY; SINCE THE COMPUTER'S INTEGER FORMAT IS THE SAME AS
125 !SINT,NO DATA CONVERSION IS NECESSARY HERE (INTEGER ARRAY REQUIRED)
130 OUTPUT @Dvm;"ISCALE?" !QUERY SCALE FACTOR FOR SINT FORMAT
140 ENTER @Dvm; S !ENTER SCALE FACTOR
150 OUTPUT @Dvm;"SSPARM?" !QUERY SUB-SAMPLING PARAMETERS
160 ENTER @Dvm;N1,N2,N3 !ENTER SUB-SAMPLING PARAMETERS
170 FOR I=1 TO Num_samples
180 Samp(I)=Int_samp(I) !CONVERT EACH INTEGER READING TO REAL
190 !FORMAT (NECESSARY TO PREVENT POSSIBLE INTEGER OVERFLOW ON NEXT LINE)
190 R=ABS(Samp(I)) !USE ABSOLUTE VALUE TO CHECK FOR OVLD
200 IF R>=32767 THEN PRINT "OVLD" !IF OVLD, PRINT OVERLOAD MESSAGE
210 Samp(I)=Samp(I)*S !MULTIPLY READING TIMES SCALE FACTOR