Synchronization With An Averaging Acquisition - Agilent Technologies InfiniiVision 7000A Series Programmer's Manual

Table of Contents

Advertisement

10
Synchronizing Acquisitions

Synchronization with an Averaging Acquisition

When averaging, it is necessary to know when the average count has been
reached. The :SINGle command does not average.
If it is known that a trigger will occur, a :DIGitize will acquire the
complete number of averages, but if the number of averages is large, a
timeout on the connection can occur.
The example below polls during the :DIGitize to prevent a timeout on the
connection.
'
' Synchronizing in averaging acquisition mode.
' ===================================================================
Option Explicit
Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Main()
782
On Error GoTo VisaComError
' Create the VISA COM I/O resource.
Set myMgr = New VisaComLib.ResourceManager
Set myScope = New VisaComLib.FormattedIO488
Set myScope.IO = myMgr.Open("TCPIP0::130.29.69.12::inst0::INSTR")
myScope.IO.Clear
' Clear the interface.
myScope.IO.Timeout = 5000
' Set up.
' -----------------------------------------------------------------
' Set up the trigger and horizontal scale.
myScope.WriteString ":TRIGger:SWEep NORMal"
myScope.WriteString ":TRIGger:MODE EDGE"
myScope.WriteString ":TRIGger:EDGE:LEVel 2"
myScope.WriteString ":TIMebase:SCALe 5e-8"
' Stop acquisitions and wait for the operation to complete.
myScope.WriteString ":STOP"
myScope.WriteString "*OPC?"
strQueryResult = myScope.ReadString
' Set up average acquisition mode.
Dim lngAverages As Long
lngAverages = 256
myScope.WriteString ":ACQuire:COUNt " + CStr(lngAverages)
myScope.WriteString ":ACQuire:TYPE AVERage"
Agilent InfiniiVision 7000A Series Oscilloscopes Programmer's Guide

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents