Posted Fri, 14 Apr 2023 17:00:51 GMT by Wayne, Michael
<p>Hello,</p> <p>I'm working with an MSO70k series scope and writing an application to fetch data from all four channels simultaneously.</p> <p>If I want to acquire one frame of data I can do something like</p> <p>write(scope, 'DATA:SOURCE CH1,CH2,CH3,CH4')</p> <p>writeread(scope, 'CURVE?')</p> <p>This will send me one frame with all four channels of data.</p> <p>If I want to acquire 1000 triggered frames of data, for all four channels I can do 1000 successive curve commands, but that takes a long time. I have tried to set the FastFrame source with</p> <p>write(scope, 'HORIZONTAL:FASTFRAME:SELECTED:SOURCE CH1,CH2,CH3,CH4')</p> <p>but when I query the source with</p> <p>write(scope, 'HORIZONTAL:FASTFRAME:SELECTED:SOURCE?')</p> <p>all that is returned is 'CH1'.</p> <p>What am I doing wrong here?</p>
Posted Sat, 09 Dec 2023 01:15:05 GMT by H D, PavanSuta
I have the same issue, is there a solution? Even though I am indexing to the right fastframe but I always read the data of the very fast fastframe.
Posted Sat, 09 Dec 2023 01:24:42 GMT by H D, PavanSuta
This is what I am doing. (Example code). I am using IVI.VISA (C#)

scope.FormattedIO.WriteLine("HORIZONTAL:FASTFRAME:COUNT 4");
scope.FormattedIO.WriteLine("HORizontal:FASTFRAME:STATE ON");
  scope.FormattedIO.WriteLine("DATA:FRAMESTART 1");
 scope.FormattedIO.WriteLine("DATA:FRAMESTOP 4");

for (loop 4 times)
{
scope.Clear();
scope.FormattedIO.WriteLine("HORIZONTAL:FASTFRAME:SELECTED" + "selected frame number");
scope.FormattedIO.WriteLine("CURVE?");
short[] rawData = scope.FormattedIO.ReadLineBinaryBlockOfInt16();

}

-> rawData always has firstframe data.
-> If I don't use the scope.clear command in the first line, when I read the second fastframe I see invalid blocheader error.
 

You must be signed in to post in this forum.