EasyManua.ls Logo

Keysight 34972A - Page 261

Keysight 34972A
353 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Application Programs 6
Keysight 34970A/34972A User’s Guide 261
Continued on next page
SendSCPI "ROUTE:SCAN " & scanList ’ Select the list of channels to scan
SendSCPI "ROUTE:SCAN:SIZE?" ’ Query the number of channels in scan list and
numberChannels = Val(GetSCPI()) ’ set variable equal to number of channels
SendSCPI "FORMAT:READING:CHAN ON" ’ Return channel number with each reading
SendSCPI "FORMAT:READING:TIME ON" ’ Return time stamp with each reading
’ Set the delay (in seconds) between relay closure and measurement
SendSCPI "ROUT:CHAN:DELAY " & Str$(channelDelay) & "," & scanList
’ Set up the scan trigger parameters after configuring the channels in the scan list
’ using the CONFigure command. The following commands configure the scan interval.
SendSCPI "TRIG:COUNT " & Str$(numberScans)
SendSCPI "TRIG:SOUR TIMER"
SendSCPI "TRIG:TIMER " & Str$(ScanInterval)
Cells(2, 1) = "Start Time" ’ Put headings on spreadsheet
Cells(4, 1) = "Channel" ’ Put headings on spreadsheet
’ Start the scan and retrieve the scan start time
SendSCPI "INIT;:SYSTEM:TIME:SCAN?"
replyString = GetSCPI() ’ Put time into string variable
’ Convert the time to Excel format and put into cells B2 and C2
Cells(2, 2) = ConvertTime(replyString)
Cells(2, 3) = Cells(2, 2)
Cells(2, 3).NumberFormat = "d-mmm-yy" ’ Format for date
Cells(2, 2).NumberFormat = "hh:mm:ss" ’ Format for time
Range("a1:ba1").ClearContents ’Clear out row 1
’ Step through the number of scan sweeps
For columnIndex = 1 To numberScans ’ Start of scan data
Do ’ Wait for instrument to put a reading in memory
SendSCPI "DATA:POINTS?" ’ Get the number of readings stored
points = Val(GetSCPI())
Loop Until points >= 1
’ Remove one reading at a time from memory
For Channel = 1 To numberChannels
SendSCPI "DATA:REMOVE? 1" ’ Request one reading from memory
Application.ScreenUpdating = False
’ Get readings from buffer and store in cell A1
Cells(1, 1) = GetSCPI()
’ Parse the string in cell A1 and put into row ’1’
Range("a1").TextToColumns Destination:=Range("a1"), comma:=True
’ Call routine to organize the data in row 1 into a table
makeDataTable Channel, columnIndex
Range("a1:ba1").ClearContents ’ Clear out row 1
Application.ScreenUpdating = True
Do ’ Wait for instrument to put another reading in memory
SendSCPI "DATA:POINTS?" ’ Get the number of readings stored
points = Val(GetSCPI())
Loop Until points >= 1 Or Channel >= numberChannels
Next Channel
Next columnIndex
ClosePort ’ Close communications on GPIB
End Sub

Table of Contents

Related product manuals