Programming
1189
Dim Result As String * 10000, OpcRes As String * 2, Res As Variant
Dim i As Long, Stat As VbMsgBoxResult
Dim err As String * 50, ErrNo As Variant
Const TimeOutTime = 50000 ' TimeOut time should be greater than the measurement time.
' Assign a GPIB address to the I/O pass.
Call viOpenDefaultRM(defrm)
Call viOpen(defrm, "GPIB0::17::INSTR", 0, 0, vi)
Call viSetAttribute(vi, VI_ATTR_TMO_VALUE, TimeOutTime)
'
SwpType = "POW" ' Sweep type : POWER
Nop = 21 ' Number of points : 41
StartPower = "-20" ' Start Power : -20 dBm
StopPower = "-10" ' Stop Power : -10 dBm
CwFreq = "1E9" ' CW frequency : 1 GHz
NumOfAve = "4" ' Number of averaging : 4
Limit = 10 ' Limit for corrected data : 10 dBm
'
Call viVPrintf(vi, ":SYST:PRES" + vbLf, 0) ' Presetting the analyzer
Call viVPrintf(vi, ":SYST:COMM:GPIB:PMET:ADDR 13" + vbLf, 0) ' Setting GPIB address of the power
meter to ENA
'
' Setting measurement conditions
Call viVPrintf(vi, ":SENS1:SWE:TYPE " & SwpType & vbLf, 0)
Call viVPrintf(vi, ":SENS1:SWE:POIN " & CStr(Nop) & vbLf, 0)
Call viVPrintf(vi, ":SOUR1:POW:STAR " & StartPower & vbLf, 0)
Call viVPrintf(vi, ":SOUR1:POW:STOP " & StopPower & vbLf, 0)
Call viVPrintf(vi, ":SENS1:FREQ " & CwFreq & vbLf, 0)
Stat = MsgBox("Do you perform zeroing and calibrating the power sensor?", vbYesNo)
If Stat = vbYes Then
MsgBox "Zero and calibrate the power sensor by using the power meter, then press [OK] key.",
vbOKOnly
End If
MeasStart:
'
' Connecting the power sensor A to the port-1 of ENA