’ The column number of the data
’ "1" indicates the first data column ’ Total number of scans
’ Total number of scanned channels
’ Time interval in seconds between scans ’ Reading count in instrument memory
’ Store the string returned from instrument ’ List of channels included in scan
’ Delay between relay closure and measurement ’ Clear the spreadsheet

Chapter 7 Application Programs

Example Programs for Excel 7.0

Excel 7.0 Example: ScanChannels Macro

’""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

This Excel Macro (Visual Basic) configures the HP 34970A for scanning with the HP 34901A,

HP 34902A, or HP 34908A multiplexer modules. When this subroutine is executed, it will

scan 5 channels and display the readings on a spreadsheet. You can easily modify the

channels in the scan list, number of scans, channel delay, and scan delay. To make these

changes, modify the code in the section titled ’SET UP’. Note that you must have one of

the above modules installed in slot 100 for this program to run properly. You must also

have an HP-IB interface card installed in your PC with the VISA or VTL library. ’""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Option Explicit Sub ScanChannels()

Dim columnIndex As Integer

Dim numberScans As Integer Dim numberChannels As Integer Dim ScanInterval As Single Dim points As Integer

Dim replyString As String Dim scanList As String Dim channelDelay As Single Dim Channel As Integer Range("a1:ba40").ClearContents

’""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

To change the HP-IB address, modify the variable ’VISAaddr’ below.

VISAaddr = "9"

OpenPort

Open communications on HP-IB

SendSCPI "*RST"

Issue a Factory Reset to the instrument

’""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

SET UP: Modify this section to select the scan interval, the scan count,

and channel delay.

’ These are variables that are used to set the scan parameters

ScanInterval = 10

’ Delay (in secs) between scans

numberScans = 3

’ Number of scan sweeps to measure

channelDelay = 0.1

’ Delay (in secs) between relay closure and measurement

To delete channels from the scan list, modify the scan list string variable

’scanList’ below. To add channels to the scan list, modify ’scanList’ and then

configure the channel using the CONFigure command.

’scanList’ is the list of channels in the scan list; note that this does not have

to include all configured channels in the instrument.

scanList = "(@101,102,110:112)"

 

 

 

SendSCPI "CONF:TEMP TC,T,(@101)"

’ Configure channel 101

for temperature

 

SendSCPI "CONF:TEMP TC,K,(@102)"

’ Configure channel 102

for temperature

7

SendSCPI "CONF:TEMP THER,5000,(@103)"

’ Configure channel 103

for temperature

SendSCPI "CONF:VOLT:DC (@110,111,112)"

’ Configure three channels for dc volts

 

’""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

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

m

BAE

Page 322
Image 322
HP 34970A manual Excel 7.0 Example ScanChannels Macro, Dim columnIndex As Integer