Bandwidth Search

Other topics about Sample Programs

Overview

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.

Sample Program in Excel VBA

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

Sample Program in HT Basic (bandwid.htb)

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