MEMory Commands (Read instrument memory)


Write or read ASCII data in memory


Syntax


(Query)


:MEMory:ADATa? A

(Response)

X1<NR1>,X2<NR1>,X3<NR1>,...
A = 1 to 2000
Xi = <storage data> (32bit)


Details


Reads the specified number (A) of data values from the memory pointer (channel and pointer offset) specified and returned by the :MEMory:POINt command. The read pointer is incremented by the number of data values (words/bytes) read. This command cannot be executed while measuring.
Refer to the :MEMory:RATIo? command description regarding conversion of waveform data to physical values.

Logic channel (32bit)

bit4(Internal logic channel)
bit16(CAN logic channel)

...

bit3

bit2

bit1


Waveform calculation channel (32bit)

IEEE 754 floating numbers
(This value is not a floating number, but an integer.)



Example


:MEMory:POINt CH1_1,0
(Selects channel CH1-1 and sets the pointer offset to 0 for storing data in memory.)

:MEMory:ADATa? 10
(Reads 10 ASCII data values from memory.)

(Response)  :MEMory:ADATA 1,2,3,4,5,6,7,8,9,10  (when headers are enabled)


Note


When recording 1000 divisions of 4 Vpp, 1 kHz sine wave data using the 100 mV range, the time required to send the command ":MEMory:ADATa? 200" 500 times is about 2 seconds using a direct USB connection to the PC (running Microsoft Windows XP on a 2.8 GHz i7 CPU and 4 GB RAM).
Please note that these values are for reference only, and depend on the actual data transfer speed of the LAN connection.


Usage
Conditions


Providing that;
   measurement is not taking place,
   the memory read pointer is below the address of the stored data,
   the channel is that specified by :MEMory:POINt.




Read stored data as binary code


Syntax


(Query)


:MEMory:BDATa? A

(Response)

#0...(binary data)
A = 1 to 8000


Details


Returns in binary format the specified number (A) of data words stored beginning at the location returned by the :MEMory:POINt command.
The read pointer is incremented by the specified number of data double words/bytes.

The read data is structured as follows:
  (1) Initially: "#0" (Indicates binary format)
  (2) After "#0", the number of data double words specified by A is returned.



top

BYTE 0

BYTE 1

BYTE 2

BYTE 3

#
(23H)

0
(30H)

xxxx

xxxx

xxxx

xxxx

xxxx

xxxx

xxxx

xxxx

 


Analog channel data
CH Calc. data
Logic channel data
Waveform calculation data
GPS data
(Big endian 32bit)


Logic channel (Big endian)

bit4(Internal logic channel)
bit16(CAN logic channel)

...

bit3

bit2

bit1


Waveform calculation channel (Big endian)

IEEE 754 floating numbers


(x means 0 or 1.)

Refer to the :MEMory:RATIo? command description regarding conversion of binary data into physical values.


Example


:MEMory:POINt CH1_1,0
(Selects channel CH1-1 and sets the pointer offset to 0 for the data stored in memory.)

:MEMory:BDATa? 10
(Reads 10 data words in binary format.)

(Response)  :MEMORY:BDATA #0...(binary format)  (when headers are enabled)


Note


Binary data may include delimiter codes such as 0Ah or 0Dh.
If the PC software misinterprets such codes as data terminators, the PC will not handle the data correctly, so the PC software should always read the number of words specified by A.

When recording 1000 divisions of 4 Vpp, 1 kHz sine wave data using the 100 mV range, the time required to send the command ":MEMory:BDATa? 1000" 100 times is about 2 seconds using a direct USB connection to the PC (running Microsoft Windows XP on a 2.8 GHz i7 CPU and 4 GB RAM). Please note that these values are for reference only, and depend on the actual data transfer speed of the LAN connection.


Usage
Conditions


Providing that
   measurement is not taking place,
   the memory read pointer is below the address of the stored data,
   and stored data is present.




Query FFT data


Syntax


(Query)


:MEMory:FFTData?

(Response)

A<NR3>,B<NR3>
A = x-axis data
B = y-axis data


Details


Returns FFT calculation results (x- and y-axis values) from the output point specified by :MEMory:FFTPOint, as NR3 numerical values.
The output point is automatically incremented every time this command is executed.
Continuous data is available by executing this command repeatedly.


Example


:MEMory:FFTPOint 1,100,1
:MEMory:FFTData?
(Response)  :MEMORY:FFTDATA 500E-06,-0.0813E-03  (when headers are enabled)


Note


-


Usage
Conditions


-




Query number of the FFT frame data


Syntax


(Query)


:MEMory:FFTFRame?

(Response)

A<NR1>
A = 0 to 200


Details


Returns the number of the FFT frame data.


Example


:MEMory:FFTFRame?
(Response)  :MEMORY:FFTFRAME 4  (when headers are enabled)


Note


-


Usage
Conditions


-




Query FFT data quantity


Syntax


(Query)


:MEMory:FFTMaxpoint? A

(Response)

A<NR1>,B<NR1>
A = 1 to 4 (Calculation No.)
B = 0 to 10000 (data points)


Details


Returns the quantity of calculated data (B) for the calculation number specified by A.


Example


:MEMory:FFTMaxpoint? 1
(Response)  :MEMORY:FFTMAXPOINT 1,4001  (when headers are enabled)


Note


The value of B depends on the selected FFT Analysis Mode and the FFT Calculation Points.


Usage
Conditions


-




Query overall FFT value


Syntax


(Query)


:MEMory:FFTOver? A

(Response)

A<NR1>,B<NR3>
A = 1 to 4 (Calculation No.)
B = (Overall value)


Details


Returns the overall FFT value of the calculation number specified by A.


Example


:MEMory:FFTOver? 1
(Response)  :MEMORY:FFTOVER 1,0.0612E-03  (when headers are enabled)


Note


NONE is returned if there is no overall value.


Usage
Conditions


-




Query FFT peak value data


Syntax


(Query)


:MEMory:FFTPEak? A,B,C

(Response)

 A<NR1>,B<NR1>,C<NR1>,D<NR3>,E<NR3>
A = 1 to 4 (Calculation No.)
B = 1 to 10 (Peak value No.)
C = 1 to 200 (Frame value No.)
D = x-axis data, NONE (if no peak value has been acquired)
E = y-axis data, NONE (if no peak value has been acquired)


Details


Returns the peak value for the calculation number specified by A.


Example


:MEMory:FFTPEak? 1,1,1
(Response)  :MEMORY:FFTPEAK 1,1,1,57.6E+03,-107.60E+00  (when headers are enabled)


Note


Returns NONE,NONE (= E,E) if no peak value has been acquired.


Usage
Conditions


-




Set or query FFT data output points


Syntax


(Command)
(Query)


:MEMory:FFTPOint A,B(,C)
:MEMory:FFTPOint?

(Response)

A<NR1>,B<NR1>,C<NR1>
A = 1 to 4 (Calculation No.)
B = 0 to 4000 (Output point)
C = 1 to 200 (Frame value No.)


Details


Sets the FFT data output point to the calculation number specified by A.
Returns the numerical value of the current FFT data output point.


Example


:MEMory:FFTPOint 1,100,1
:MEMory:FFTPOint?
(Response)  :MEMORY:FFTPOINT 1,100,1  (when headers are enabled)


Note


The value of B depends on the selected FFT Analysis Mode and the FFT Calculation Points.


Usage
Conditions


-




Query THD value


Syntax


(Query)


:MEMory:FFTTHd? A

(Response)

A<NR1>,B<NR3>
A = 1 to 4 (Calculation No.)
B = (THD value)


Details


Returns the THD value of the calculation number specified by A.


Example


:MEMory:FFTTHd? 1
(Response)  :MEMORY:FFTTHD 1,+12.1483E+00  (when headers are enabled)


Note


NONE is returned if there is no THD value.


Usage
Conditions


-




Capture real-time data


Syntax


(Command)


:MEMory:GETReal



Details


Causes the instrument to acquire real-time measurement values on all channels.


Example


:MEMory:GETReal


Note


-


Usage
Conditions


-




Query the amount of data stored


Syntax


(Query)


:MEMory:MAXPoint?

(Response)

A<NR1>
A = 0 (no data stored) to (the number of stored data)


Details


Returns the number of data bytes/words stored in memory as a numerical value in NR1 format.


Example


:MEMory:MAXPoint?
(Response)  :MEMORY:MAXPOINT 2501  (when headers are enabled)


Note



Usage
Conditions


-




Set and query the memory read pointer


Syntax


(Command)
(Query)


:MEMory:POINt CH$,A
:MEMory:POINt?

(Response)

CH$,A<NR1>
CH$ = CH1_1 to CH4_15, P1 to P2, LA to LB, L1 to L4, W1_1 to W4_2, Z1 to Z8, LAT, LON, ALT, DIR, SPD, DST
A = 0 to (number of stored data - 1)


Details


Sets the read pointer in instrument memory.
Returns the current memory read pointer location as a channel and pointer offset as an NR1 numerical value.


Example


:MEMory:POINt CH1_1,100
:MEMory:POINt?
(Response)  :MEMORY:POINT CH1_1,100  (when headers are enabled)


Note


If there is no stored data, the read pointer cannot be set.
Argument A can be set only to a value less than that returned by the :MEMory:MAXPoint? command.

When measuring with the real-time, valid values for A depend on the current waveform display.
A shows always the point from the head of stored data.


Usage
Conditions


W1_1 to W4_2 or Z1 to Z8 is available in V2.00 or later.
LAT, LON, ALT, DIR, SPD or DST are available in V2.10 or later.




Query the ratio and offset coefficients for converting stored data into physical values


Syntax


(Query)


:MEMory:RATIo? CH$

(Response)

CH$,A<NR3>,B<NR3>
CH$ = CH1_1 to CH4_15, P1 to P2, W1_1 to W4_2, LAT, LON, ALT, DIR, SPD, DST
A = Ratio
B = Offset


Details


Returns coefficients for converting data read with the :MEMory:ADATa? command into physical values.

The equation used to convert the data into physical values is:
(Physical value) = A * (Data) + B


Example


:MEMory:RATIo? CH1_1
(Response)  :MEMORY:RATIO CH1_1,+4.00000E-06,-131.072E-03  (when headers are enabled)


Note


-


Usage
Conditions


Providing that;
   Analog, pulse, channel calculation and GPS channel.
   The stored data is present.
   After measurement.

W1_1 to W4_2 is available in V2.00 or later.
LAT, LON, ALT, DIR, SPD or DST are available in V2.10 or later.




Read real-time data (measured values)


Syntax


(Query)


:MEMory:REAL? CH$

(Response)

A<NR3>
CH$ = CH1_1 to CH4_15, P1 to P2, LA to LB, L1 to L4, LAT, LON, ALT, DIR, SPD, DST
A = Physical values.


Details


Returns the physical value measured on channel CH$ after acquiring data with the :MEMory:GETReal command.

Logic channel (32bit)

bit4(Internal logic channel)
bit16(CAN logic channel)

...

bit3

bit2

bit1



Example


:MEMory:GETReal
(Causes the instrument to acquire real-time measurement values on all channels.)

:MEMory:REAL? CH1_1
(Response)  :MEMORY:REAL CH1_1,+1.05600E-03  (when headers are enabled)


Note


If the :MEMory:GETReal command is not executed before this command, returned values are undetermined.


Usage
Conditions


LAT, LON, ALT, DIR, SPD or DST are available in V2.10 or later.




Write and read stored data (measured values)


Syntax


(Query)


:MEMory:VDATa? A

(Response)

X1<NR3>,X2<NR3>,X3<NR3>,...
A = 1 to 2000
Xi = Physical values


Details


Reads the number of data objects specified by A from the memory pointer (channel and pointer offset) specified and returned by the :MEMory:POINt command.
The read pointer is incremented by the number of data words read.
This command cannot be executed while measuring.

Scaled values are written and read when scaling is enabled.


Example


:MEMory:POINt CH1_1,0
(Selects channel CH1-1 and sets the pointer offset to 0 for the stored data.)

:MEMory:VDATa? 2
(Reads two data words from memory.)

(Response)  :MEMORY:VDATA +5.678E-03,+4.321E-03  (when headers are enabled)


Note


When recording 1000 divisions of 4 Vpp, 1 kHz sine wave data using the 100 mV range, the time required to send the command ":MEMory:VDATa? 200" 200 times is about 2 seconds using a direct Ethernet connection to the PC (running Microsoft Windows XP on a 2.8 GHz i7 CPU and 4 GB RAM).
Please note that these values are for reference only, and depend on the actual data transfer speed of the LAN connection.


Usage
Conditions


Providing that;
   measurement is not taking place.
   the memory read pointer is below the address of the stored data,
   the channel is selected by :MEMory:POINt
   and the stored data is present.