Reading data from pcsu1000


Good day.
I’m trying to read data from an oscilloscope. There were several questions.

I need to read the data caught by the oscilloscope trigger.
Locked data -> readed
locked in -> readed
locked in -> readed
… etc.

My questions

  1. When does the DataReady function return TRUE?
  2. How often can a picture be updated on the PC screen? (How often i can read new trigged oscillogram. I need faster.) If for example I catch a signal every millisecond with a trigger, it is unlikely that the image on the screen will be updated every millisecond? Rather, it will be slower. How much slower?

Best regards, Anatoly.


This happens when 8192 bytes of data is acquired and the data is transferred to PC.

Based on the USB data rate, in theory about 10ms update rate may be possible.
For more details please see this thread.


Good day.
Thanks for the informative answer. Much helped to understand.
I need to save 10 oscillograms successively. The shorter the time between them, the better. Is the following code correct for this task?

p1,p2: Pointer;
data1, data2: array [0 … 5000] of longint;
// ------------------------------------
p1 = @data1[0];
p1 = @data2[0];
for i = 0 to 9 do
while True do
if DataReady then
ReadCh1( p );
ReadCh2( p );

One more question: why is the size of data1 and data2 equal to 5000?
ReadCh1 and ReadCh2 return data

[0]: Sample rate in Hz
[1]: Full scale voltage in mV
[2]: Ground level in A / D converter counts. [3 … 4098]: The converter counts (0 … 255), from PCS500.
[3 … 4082]: The converter counts (0 … 255), from PCS100 and K8031.

Nowhere is the number 5000.
And additional for PCSU1000 [3 … ???]
Thanks in advance.