U12 in streaming or in burst mode

Recommended Posts


I own two LabJack U12 and two LabJack U3.

I own one DAQFactory Lite license.

I need to acquire 2 signals at high speed (4000 Hz) and at the same time, acquire 8 signals at low speed (20 Hz)

How can I manage to get my DAQFactory Lite application showing on one single page :



Two fast signals aquired at 4000 Hz (showing 500 "true" aquired points each). I don't mind if there are gaps during the acqusition, all I want is to have a refresh time of the graph equal to 1 second approx, less would be better indeed. A refresh time of 0.2 sec would be perfect but I doubt this is attainable (because there must be another acquisition process running in parallel)



Eight slow signals acquired at 20Hz in a different graph, but still on the same page.


I am very happy with LabJack U3 in streaming mode as decribed in the previous post.

I am attaching my .CTL file enabling two channels at 4000 Hz, this is slighly modified version from AZEOTECH "generic" U3 streaming mode application. Many thanks for helping us !

But I have a difficulty in adding slow signals on that fast acquisition scheme.

Seems U3 cannot manage two kind of acquisitions at the same time (stream and normal).

Maybe there is a possibility in dynamically reconfiguring U3 on the fly, switching between the two modes at 1 Hz or something like that. But doing this there will be nasty gaps in the slow signals. I would prefear not having gaps in the slow signals.

Hence I am thinking about using a second acquisition box.

What would be the best setup ? Two U3 , one in streaming, the other one in "normal".

Any advantage using U12 here ?

Any other suggestion ?

Thanks for a reply,


from Brussels



Link to comment
Share on other sites

I can't keep up with all the features the LabJack guys keep adding to the U3, so they may have to correct me:

Both the UE9, and therefore presumably, the U3 allow you to stream and soft poll at the same time. This means you can start a stream and then manually read other channels at a slower rate. The simplest way to read inputs at a slow rate is to simply create a channel for them and set the Timing parameter to the desired polling rate. There is no coding required.

If it turns out that the U3, like the U12, doesn't support soft poll and stream at the same time, then I would just stream all the channels and average down the slow channels to the desired rate. As I just mentioned, the U12 does not support streaming and polling at the same time, nor does it stream at 4k, so you would not want to switch to a U12.

Link to comment
Share on other sites

The U3 does not have a burst mode. It does not need a burst mode because it can continuously stream data to the host just as fast as it can collect it. The U12 was able to collect data faster than it could send it to the PC, and thus it had a burst mode.

The U3 and UE9 can do command/response functions ("soft poll") while streaming, but the analog-to-digital converter is not available as it is committed to the stream. So you can do digital I/O, analog outputs, timers, counters, etc., but cannot poll analog inputs while streaming.

From your other post:

Approach 1


Is it possible to have two U3 running. First U3 in streaming mode and aquiring two channels at 4000 Hz. Second U3 in "normal" mode and acquiring about 8 channels at 20 Hz each ?

Approach 2


Is it possible to have within the same .CTL file, a kind of program sequencer that is dynamically reconfiguring the U3.

At the beginning, we send "reset" to U3.

Branch_0 :

Then imediately after we use U3 in "normal" mode : aquiring 8 channels at 20 Hz.

Then we stop this after one second.

Then we send another "reset" to U3.

Then we send the famous "stream" configuration and "start stream" configuration.

As soon as we have 500 samples in (from streaming), we send again "reset" to U3.

And we return to Branch_0. Meaning that we do cycle between the two modes.

Approach 3


Same as approach 2 but putting U3 in "burst" mode instead of stream" mode.

This may be less complicated, I don't know.

#1. Yes.

#2. Yes. You don't want to "reset" the U3, but rather you just start and stop the stream, and poll inputs in between streaming.

#3. No burst mode.

#4. As AzeoTech suggests, you can sample all 10 channels at 4k, for a total sample rate of 40k, and then average down the channels that don't have to be fast. Note that your effective resolution will decrease as noted in Section 3.2 of the U3 User's Guide, but when you average the slow channels you will gain resolution.

Link to comment
Share on other sites

Hello LabJack support,

Hello DAQFactory support,

That's all good news indeed !

I was not expecting the low-cost LabJack U3 being able to stream 10 channels at 4,000 Hz each hence 40,000 Hz effective sampling rate for all 10 channels combined ! Waow !

For pure efficiency, I have a preference for the combined alternating stream + polling scheme.

Avoiding using two U3, one in streaming and the other in polling.

What's polling indeed ? Is it the parameter one must specify as "timing" in DAQFActory signal table ?

So, for the combined alternating stream + polling scheme, how to proceed ?

Is there a "manual" software sequencer under DAQFactory needed to do the job : initialize U3, define the streaming channels at 4000 Hz each, start_stream, wait one second, stop_stream, update the fast graphs, poll the slow channels at 20 Hz during one second (how to do that ?), update the slow graphs, start_stream, wait one second, stop_stream, update the fast graphs, poll the slow channels at 20 Hz during one second, update the slow graphs, ... and so on again and again ...

Here above, we have a basic exampe with a 1 sec 4000 Hz stream / 1 sec 20 Hz polling alternating sequence.

Is it possible to get a different layout, like 0.25 sec 4000 Hz stream / 0.25 sec 20 Hz polling sequence ? This in order to get the gaps "nearly" invisible ?

Is it possible to get a documented .CTL file putting this scheme at work ?

I think many U3 users will be interested in applying the U3 stream + polling alternating sequence.

How to generate the configuration parameters like requesting the streaming channels (what changes if one wants 2, 3, 4, 5, 6, 7 ... streaming channels) ?


from Brussels

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.