Buffer read operations – Measurement Computing TempScan/1100 User Manual
Page 95
TempScan / MultiScan User's Manual
889897
System Operation 5-5
• Time/Date Stamping of Stop Event (Field 6). Absolute ASCII format:
hh:mm:ss.mil,MM/DD/YY
.
Relative ASCII format:
+hh:mm:ss.mil,DDDDDDD
. Absolute Binary format:
hmstuvwMDY
. Absolute
Binary format:
hmstuvwDEF
. This field represents the absolute or relative Time/Date value when the
Stop event occurred for the currently-read Trigger Block. If the Stop event has not yet occurred at the
time the
U6
command was issued, this field will have the following value:
• Absolute ASCII value
00:00:00.00,00/00/00
,
• Relative ASCII value
+00:00:00.00,0000000
,
• Absolute Binary value
00 00 00 00000000 00 00 00
(2-2-2-8-2-2-2 digits), or
• Relative Binary value:
00 00 00 00000000 000000
(2-2-2-8-6 digits).
• Position of End Scan Pointer (Field 7). Format:
±±±±xxxxxxx
. This field represents the End scan
location in the currently-read Trigger Block. This Read Pointer is relative to the Trigger scan point,
which is always oriented at logical scan location 0. Since the End scan must always occur after the
Trigger event, this Read Pointer will always have a positive integer value. If the End scan has not yet
occurred at the time the
U6
command was issued, this field will have the undefined value of
-0999999
.
This field will always have the same value as the Position of Stop Event Pointer field unless Post-Stop
scans have been configured; that is, if the Post-Stop
stop
parameter of the Set Counts (
Y
) command
has been set to a non-zero value. In this case, this Position of End Scan Pointer field will have a
greater value than the Position of Stop Event Pointer field.
• Status of Current Trigger Block (Field 8). Format:
xx
. This field represents the status of the
currently-read Trigger Block. If the currently-read Trigger Block is still being acquired, then this field
will have the value
00
. If the currently-read Trigger Block has been completely acquired and has
terminated normally, then this field will have the value
01
. However, if the currently-read Trigger
Block has prematurely terminated (due to user intervention), then this field will have the value
02
.
It should be noted that Trigger Blocks are not assigned a Trigger Block number as such. These Trigger
Block numbers refer to locations relative to the currently-read Trigger Block. Consequently, the Trigger
Block currently being read is always Trigger Block 1. Meanwhile, the Trigger Block currently being written
is always the value of the Number of Trigger Blocks Available field.
Buffer Read Operations
As mentioned earlier, the TempScan/1100 or MultiScan/1200 Acquisition Buffer is a FIFO (First-In First-
Out) buffer. In other words, the oldest scan data to be written into the buffer is the first scan data to be read
from the buffer when a read operation is performed. Then once the scan data is read from the buffer by the
controller, that data is erased from the buffer.
The Acquisition Buffer data is read via the Read Buffered Data (
R
) command. You can use this command
to read anywhere from one scan to all the scan data currently residing in the buffer. This command has the
following valid options:
• Read the oldest scan currently residing in the Acquisition Buffer (
R1
).
• Read the oldest complete Trigger Block currently residing in the Acquisition Buffer (
R2
).
• Read all the scan data currently residing in the Acquisition Buffer (
R3
).
When a Read Buffered Data (
R
) command is issued, the TempScan/1100 or MultiScan/1200 checks to see
if the read request can be fulfilled. If so, the requested scan data is moved from the Acquisition Buffer to
the Output Queue where it waits until the controller initiates transfer. However, if either of the following is
true – No channels are configured, or the amount of scan data requested is not available – then the read
request will not be fulfilled, and a Conflict Error will be posted. The
R1
and
R3
commands require that at
least one scan be available, and the
R2
command requires that at least one complete Trigger Block be
available.
The Scan Available Bit (Bit 3) in the Status Byte Register (
STB
) can be used to determine whether or not
the Acquisition Buffer is empty. This bit is set when at least one scan is available in the buffer. The
following User Status (
U
) command query – Query the Buffer Status String (
U6
) – may also be used to
retrieve more-detailed information about the state of the Acquisition Buffer.