This VBScript file performs a 2-Port Guided TRL calibration on 2-port VNA analyzers. (See an example of TRL cal on a 4-port VNA.) This program does the following:
Clear old measurements from the VNA
Create a new S22 measurement
Set an instrument state
Select the connectors and cal kit
Initiate a Guided calibration
Display a prompt as each new standard must be connected
Save the calibration to a newly created cal set.
The SCPI commands in this example are sent over a COM interface using the SCPIStringParser object. You do NOT need a GPIB connection to run this example.
This VBScript (*.vbs) program can be run as a macro in the VNA. To do this, copy the following code into a text editor file such as Notepad and save it on the VNA hard drive as TRL.vbs. Learn how to setup and run the macro.
Dim App Dim Parser Dim Chan Dim txtDat Dim step Dim parserTxt Dim prompt Set App = CreateObject("AgilentPNA835x.Application") ' Clear old measurements App.Reset ' Create a new Measurement Set Parser = App.SCPIStringParser Parser.Parse "DISPlay:WINDow1:STATE ON" Parser.Parse "CALCulate:PARameter:DEFine:EXT 'MyMeas',S12" Parser.Parse "DISPlay:WINDow1:TRACe1:FEED 'MyMeas'" ' Initialize state Set Chan = App.ActiveChannel Chan.StartFrequency = 18.0e9 Chan.StopFrequency = 20.0e9 Chan.IFBandwidth = 1000 ' Begin a guided calibrations Parser.Parse "SENS:CORR:COLL:GUID:CONN:PORT1 'APC 3.5 male'" Parser.Parse "SENS:CORR:COLL:GUID:CONN:PORT2 'APC 3.5 female'" Parser.Parse "SENS:CORR:COLL:GUID:CKIT:PORT1 '85052C'" Parser.Parse "SENS:CORR:COLL:GUID:CKIT:PORT2 '85052C'" ' Select TRL cal method. Parser.Parse "SENS:CORR:COLL:GUID:PATH:CMET 1,2,'TRL'" txtDat = Parser.Parse("SENS:CORR:COLL:GUID:PATH:CMET? 1,2") MsgBox("Method " + txtDat) Parser.Parse "SENS:CORR:COLL:GUID:INIT" ' Query the number of steps txtDat = Parser.Parse("SENS:CORR:COLL:GUID:STEP?") ' Display the number of steps MsgBox("Number of steps is " + txtDat) ' Set the loop counter limit step = CInt(txtDat) ' Measure the standards For i = 1 To step parserTxt = "sens:corr:coll:guid:desc? " + CStr(i) prompt = Parser.Parse(parserTxt) MsgBox(prompt) parserTxt = "sens:corr:coll:guid:acq STAN" + CStr(i) Parser.Parse (parserTxt) Next ' All standards have been measured. Save the result Parser.Parse "SENS:CORR:COLL:GUID:SAVE" MsgBox("The TRL calibration has been completed") |