AnsweredAssumed Answered

vrf Oscilloscope 54615B

Question asked by warren.pickles on Feb 11, 2004
Thanks Mark, that worked perfectly.
My problem wasn't the post-processing - your code is the same as mine in
that respect.  I think the problem was that where I set the data
transmission mode to "word" and pulled data as an Int16 array, you set it to
"byte" and pulled a binblock.  Much neater.
Thanks.
Warren



-----Original Message-----
From: Wills, Mark
Sent: 12 February 2004 13:36
To: Pickles, Warren; VRF
Subject: RE: [vrf] Oscilloscope 54615B


Hi Warren,
     I seems to remember us having some similar problems when capturing
the scope trace.
We had to do some post processing on the captured trace data, the code is
attached.
This may or may not fix your problem but take a peek anyway.

Mark



-----Original Message-----
From: Pickles, Warren
Sent: 12 February 2004 11:59
To: VRF
Subject: [vrf] Oscilloscope 54615B


Hi

Does anyone have experience programming the HP 54615B oscilloscope?

Specifically, I wrote some code way back to capture sweep data from the
54600B, and it works fine.  Theoretically this should also work for the
54615B, since the programming manual applies to both models.  But it doesn't
work.  The sweep I get back looks a bit like what's on the scope, but the y
scale is way out and often the data get mangled.  I just can't get it to
work.

<<Test54600.vee>>
Attached is the code I use to capture sweep.  Works fine on 54600 but not on
54615B.  The code is based on the example code in the programmer's guide,
which I have pasted below.
The values you get from the scope have to be processed in a formula using
values from the "preamble".  I suspect I am doing that calculation
incorrectly, but I just can't find out what's wrong with it.

Thanks in advance for your help.
Yours,
Warren Pickles




3320     DIM Preamble(1:10)

3330     OUTPUT @Scope;"WAVEFORM:PREAMBLE?" ! Query for the preamble

3340     ENTER @Scope;Preamble(*)           ! Read preamble information

...

3390     OUTPUT @Scope;":WAV:DATA?"  ! Query the scope for the waveform data

...

3590     ENTER @Scope USING "#,2A,8D";Header$,Bytes ! Strip off header and
size

3600     PRINT "Reading ";Bytes;" bytes from scope..."

3610     ALLOCATE INTEGER Waveform(1:Bytes/2) ! Allocate an array for data

3620     ENTER @Fast;Waveform(*)              ! Read unformatted word data

3630     ENTER @Scope USING "-K,B";End$       ! Read terminating New Line
character

3640     PRINT "Volts/Div = ";32*Preamble(8)

3650     PRINT "Offset = ";(128-Preamble(10))*Preamble(8)+Preamble(9)

3660     PRINT "Sec/Div = ";Preamble(3)*Preamble(5)/10

3670     PRINT "Delay =
";(Preamble(3)/2-Preamble(7))*Preamble(5)+Preamble(6)

3680     FOR I=1 TO 2000 STEP 100

3690     PRINT "Data point
";I;(Waveform(I)-Preamble(10))*Preamble(8)+Preamble(9);"
Volts";(I-Preamble(7))*Preamble(5)+Preamble(6);" Seconds"

3700     NEXT I




---
You are currently subscribed to vrf as: rsb@soco.agilent.com
To subscribe send a blank email to "join-vrf@it.lists.it.agilent.com".
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list,  email "vrf@agilent.com". 
If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com".
Send your favorite VEE example to "VRF-EXAMPLES@agilent.com" for possible inclusion in VEE 7.0!

Outcomes