This example performs a Guided QSOLT calibration on a 4-port VNA.
Because the DUT port 1 is female and the other ports are male, a 'Zero Thru' can be used between port 1 and the other ports. If this were NOT the case, a "Defined Thru" would be needed in the listed Cal Kits for those ports. Learn more about Thru methods.
Although no standards are used for ports 2, 3, and 4, a Cal Kit must be defined for these ports.
The SCPI commands in this example are sent over a COM interface using the SCPIStringParser object. You do not need to control the VNA via GPIB 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 qsolt.vbs.
Learn how to setup and run the macro.
Set app = CreateObject("AgilentPNA835x.Application") Set scpi = app.ScpiStringParser scpi.Execute "Calc1:Par:Mnum 1" scpi.Execute "Sens1:CORR:COLL:GUID:CONN:PORT1:SEL 'APC 3.5 female'" scpi.Execute "Sens1:CORR:COLL:GUID:CONN:PORT2:SEL 'APC 3.5 male'" scpi.Execute "Sens1:CORR:COLL:GUID:CONN:PORT3:SEL 'APC 3.5 male'" scpi.Execute "Sens1:CORR:COLL:GUID:CONN:PORT4:SEL 'APC 3.5 male'" scpi.Execute "Sens1:CORR:COLL:GUID:CKIT:PORT1:SEL '85052B'" scpi.Execute "Sens1:CORR:COLL:GUID:CKIT:PORT2:SEL '85052B'" scpi.Execute "Sens1:CORR:COLL:GUID:CKIT:PORT3:SEL '85052B'" scpi.Execute "Sens1:CORR:COLL:GUID:CKIT:PORT4:SEL '85052B'" scpi.Execute "Sens1:CORR:COLL:GUID:THRU:PORT 1,2,1,3,1,4" scpi.Execute "Sens1:CORR:COLL:GUID:PATH:TMET 1,2,'Zero Thru'" scpi.Execute "Sens1:CORR:COLL:GUID:PATH:TMET 1,3,'Zero Thru'" scpi.Execute "Sens1:CORR:COLL:GUID:PATH:TMET 1,4,'Zero Thru'" scpi.Execute "Sens1:CORR:COLL:GUID:PATH:CMET 1,2,'QSOLT1'" scpi.Execute "SENS1:CORR:COLL:GUID:PATH:CMET 1,3,'QSOLT1'" scpi.Execute "SENS1:CORR:COLL:GUID:PATH:CMET 1,4,'QSOLT1'" ' Initiate the calibration and query the number of steps scpi.Execute "sens1:corr:coll:guid:init" numSteps = scpi.Execute("sens:corr:coll:guid:steps?") MsgBox "Number of steps is " + CStr(numSteps) ' Measure the standards For i = 1 To numSteps step = "Step " + CStr(i) + " of " + CStr(numSteps) strPrompt = scpi.Execute("sens:corr:coll:guid:desc? " + CStr(i)) MsgBox strPrompt, vbOKOnly, step scpi.Execute "sens:corr:coll:guid:acq STAN" + CStr(i) Next ' Conclude the calibration scpi.Execute "SENS1:CORR:COLL:GUID:SAVE" |