Agilent Technologies 5000 Series manual Programming Examples

Models: 5000 Series

1 598
Download 598 pages 46.18 Kb
Page 577
Image 577

Programming Examples

9

CStr(lngI / intBytesPerData) + ", " + _ FormatNumber((lngDataValue - lngYReference) * sngYIncrement + _ sngYOrigin) + " V, " + _

FormatNumber(((lngI / intBytesPerData - lngXReference) * _ dblXIncrement + dblXOrigin) * 1000000) + " us" + vbCrLf

Next lngI

MsgBox "Waveform data:" + vbCrLf + strOutput

'Make a delay measurement between channel 1 and 2. Dim dblChan1Edge1 As Double

Dim dblChan2Edge1 As Double Dim dblChan1Edge2 As Double Dim dblDelay As Double

Dim dblPeriod As Double Dim dblPhase As Double

'Query time at 1st rising edge on ch1.

err = viVPrintf(vi, ":MEASURE:TEDGE? +1, CHAN1" + vbLf, 0)

' Read time at edge 1 on ch 1.

err = viVScanf(vi, "%lf", VarPtr(dblChan1Edge1))

' Query time at 1st rising edge on ch2.

err = viVPrintf(vi, ":MEASURE:TEDGE? +1, CHAN2" + vbLf, 0)

' Read time at edge 1 on ch 2.

err = viVScanf(vi, "%lf", VarPtr(dblChan2Edge1))

'Calculate delay time between ch1 and ch2. dblDelay = dblChan2Edge1 - dblChan1Edge1

'Write calculated delay time to screen. MsgBox "Delay = " + vbCrLf + CStr(dblDelay)

'Make a phase difference measurement between channel 1 and 2.

'Query time at 1st rising edge on ch1.

err = viVPrintf(vi, ":MEASURE:TEDGE? +2, CHAN1" + vbLf, 0)

' Read time

at edge 2

on

ch

1.

err = viVScanf(vi, "%lf",

VarPtr(dblChan1Edge2))

' Calculate

period of

ch

1.

 

dblPeriod =

dblChan1Edge2

-

dblChan1Edge1

'Calculate phase difference between ch1 and ch2. dblPhase = (dblDelay / dblPeriod) * 360

MsgBox "Phase = " + vbCrLf + CStr(dblPhase)

End Sub

Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Reference

577

Page 577
Image 577
Agilent Technologies 5000 Series manual Programming Examples