Other topics about Sample Programs
The sample program demonstrates how to perform Bandwidth Search.
The sample program moves the marker to the maximum value position and then retrieves and displays the results of Bandwidth Search.
See Bandwidth Search for this programming.
Sub Bandwid_click()
Dim vi As Long
Dim defrm As Long
Dim Threshhold As Long
Dim Result As String * 1000
Dim Bdata As Variant
Const TimeOutTime = 10000
Call viOpenDefaultRM(defrm)
Call viOpen(defrm, "GPIB0::17::INSTR", 0, 0, vi)
Call viSetAttribute(vi, VI_ATTR_TMO_VALUE, TimeOutTime)
Threshhold = -3
Call viVPrintf(vi, ":SENS1:FREQ:CENT 947.5E6" & vbLf, 0)
Call viVPrintf(vi, ":SENS1:FREQ:SPAN 200E6" & vbLf, 0)
Call viVPrintf(vi, ":CALC1:PAR1:DEF S21" & vbLf, 0)
Call viVPrintf(vi, ":DISP:WIND1:TRAC1:Y:AUTO" & vbLf, 0)
Call viVPrintf(vi, ":CALC1:PAR1:SEL" & vbLf, 0)
Call viVPrintf(vi, ":CALC1:MARK1:FUNC:TYPE MAX" & vbLf, 0)
Call viVPrintf(vi, ":CALC1:MARK1:FUNC:EXEC" & vbLf, 0)
Call viVPrintf(vi, ":CALC1:MARK1:BWID:THR " + CStr(Threshhold) & vbLf, 0)
Call viVPrintf(vi, ":CALC1:MARK1:BWID:DATA?" & vbLf, 0)
Call viVScanf(vi, "%t", Result)
Bdata = Split(Result, ",")
Call ErrorCheck(vi)
Cells(5, 2).Value = Val(Bdata(0))
Cells(6, 2).Value = Val(Bdata(1))
Cells(7, 2).Value = Val(Bdata(2))
Cells(8, 2).Value = Val(Trim(Bdata(3)))
Call viClose(vi)
Call viClose(defrm)
End Sub
Sub ErrorCheck(vi)
Dim err As String * 50, ErrNo As Variant, Response
Call viVQueryf(vi, ":SYST:ERR?" & vbLf, "%t", err)
ErrNo = Split(err, ",")
If Val(ErrNo(0)) <> 0 Then
Response = MsgBox(CStr(ErrNo(1)), vbOKOnly)
End If
End Sub
10 DIM Buff$[9],Err_msg$[100]
20 REAL Threshold,Bwid,Cent,Q,Loss
30 INTEGER Err_no
40 !
50 ASSIGN @Agte507x TO 717
60 Threshold=-3
70 !
80 OUTPUT @Agte507x;"*ESE 60"
90 OUTPUT @Agte507x;"*SRE 32"
100 OUTPUT @Agte507x;"*CLS"
110 OUTPUT @Agte507x;"*OPC?"
120 ENTER @Agte507x;Buff$
130 ON INTR 7 GOTO Err
140 ENABLE INTR 7;2
150 !
160 OUTPUT @Agte507x;":CALC1:PAR1:SEL"
170 OUTPUT @Agte507x;":CALC1:MARK1:FUNC:TYPE MAX"
180 OUTPUT @Agte507x;":CALC1:MARK1:FUNC:EXEC"
190 OUTPUT @Agte507x;":CALC1:MARK1:BWID:THR ";Threshold
200 OUTPUT @Agte507x;":CALC1:MARK1:BWID:DATA?"
210 WAIT .5
220 ENTER @Agte507x;Bwid,Cent,Q,Loss
230 !
240 PRINT "## Bandwidth Search ##"
250 PRINT "Bandwidth : ",Bwid
260 PRINT "Center Frequency: ",Cent
270 PRINT "Q : ",Q
280 PRINT "Loss : ",Loss
290 !
300 GOTO No_err
310 Err: OFF INTR 7
320 OUTPUT @Agte507x;";:SYST:ERR?"
330 ENTER @Agte507x;Err_no,Err_msg$
340 PRINT "Error occurred!!"
350 PRINT " No:";Err_no,"Description: "&Err_msg$
360 No_err: OFF INTR 7
370 END