136 Programming the VT1422A for Data Acquisition and Control Chapter 4
Below is an example command sequence for Figure 4-8. It assumes that the FIFO mode was set to BLOCK and that at least one algorithm is sending values to the FIFO.
following loop reads number of values in FIFO while algorithms executing
loop while "measuring" bit is true see STAT:OPER:COND bit 4
SENS:DATA:FIFO:COUNT? query for count of values in
FIFO
input n_values here
if n_values >= 16384 Sets the minimum block size to
transfer
SENS:DATA:FIFO:PART? n_values ask for n_values
input read_data here Format depends on FORMat cmd
end if
end while loop
following checks for values remaining in FIFO after "measuring" false
SENS:DATA:FIFO:COUNT? query for values still in FIFO
input n_values here
if n_values if any values...
SENS:DATA:FIFO:PART? n_values
input read_data here get remaining values from FIFO
end if
BeginData Retrieval
ExitData Retrieval
AlgorithmStopped?
AnyValues in FIFO?
EnoughValues
inFIFO?
ExecuteFinal Transfer
Command
ExecuteBulk Transfer
Command
DATA:FIFO:COUNT?
DATA:FIFO:PART?<n
_
values>
no
no
no
yes
yesyes
STAT:OPER:COND?
(bit4 "measuring")
Figure 4-8. Controlling Reading Count