This Visual Basic program:
Initializes the VNA objects.
Performs a complete ECAL confidence check
Before using this code:
The active channel must contain an S11 measurement with a 1-port or N-port calibration
Prepare a form with two buttons named cmdRun and cmdQuit
Note: A confidence check can NOT be performed remotely from User Characterizations that are stored on the VNA disk.
Private oPNA As AgilentPNA835x.Application Private oChan As Channel Private oCal As Calibrator Private oMeas As Measurement
Private Sub cmdRun_Click() Dim iMeasIndex As Integer
Set oPNA = CreateObject("AgilentPNA835x.Application", "MachineName") Set oChan = oPNA.ActiveChannel Set oCal = oChan.Calibrator
iMeasIndex = 1
' Loop through measurements until an S11 on the active channel ' is found, or the end of the measurement collection is reached. Do Set oMeas = oPNA.Measurements(iMeasIndex) If oMeas.Parameter = "S11" And _ oMeas.channelNumber = oChan.channelNumber Then Exit Do iMeasIndex = iMeasIndex + 1 If iMeasIndex > oPNA.Measurements.Count Then MsgBox "No S11 measurement found on the active channel." _ & " Create an S11 measurement, then try again." Exit Sub End If Loop
' Set up trace view so we are viewing only the data trace. oMeas.View = naData ' Acquire the S11 confidence check data from ECal Module A ' into the memory buffer. oCal.AcquireCalConfidenceCheckECALEx "S11", 1 ' Turn on trace math so the trace shows data divided by memory. ' You can be confident the S11 calibration is reasonably good if ' the displayed trace varies no more than a few tenths of a dB ' from 0 dB across the entire span. oMeas.TraceMath = naDataDivMemory End Sub
Sub cmdQuit_Click() ' Turn off trace math ' in case someone clicks Quit without having clicked Run If oMeas <> Nothing Then oMeas.TraceMath = naDataNormal ' Conclude the confidence check to set the ECal module ' back to it's idle state. If oCal <> Nothing Then oCal.DoneCalConfidenceCheckECAL ' End the program End End Sub |