How to seperate windows and DAQfactory on different cores in PC


Recommended Posts

Hi, your help manual says

'Due to limitations with Windows, a timing interval of less than 10 ms is not suggested, no matter how fast your computer. If you need faster acquisition, we suggest you use hardware paced acquisition, usually done using device functions or channel commands.The availability of hardware paced acquisition depends on your hardware. The other alternative is to use a computer with two processors, or a dualcore processor which are getting rather common. With this setup you can have fast acquisition run on one processor, while the other processor handles the rest of Window's tasks. This is a bit more tricky. If you elect to go this route, feel free to contact us for assistance.'

We are considering getting a Labjack T7 for streaming capability. However, whether we do this or not, it would still be useful to know how to seperate all the functions of the OS (windows probably) onto one core of the PC, leaving the others free to handle all data acquisition please

Many thanks,


Link to comment
Share on other sites

First, streaming is designed to acquire data faster than 10hz.  The pacing of the acquisition is done in the hardware, and the LabJack sends data back to the PC in blocks.  So the paragraph you quoted doesn't apply when streaming.

That paragraph is getting a little long in the tooth as they say, as pretty much every computer you buy today has a multicore processor!

Its hard to control the rest of windows.  You can go through process by process in the task manager and set the processor affinity to one particular processor, but this would be tedious.  Fortunately, DAQFactory already runs at high priority in Windows, so it will run above most other things, but as an app with a user interface, it can't run at the highest of priorities.  You can, however, run two copies of DAQFactory, one for you UI, and a second for everything else, and then (from task manager) set the priority of DAQFactory up into the real-time priority class.  That will get you even better response.  

But really, if you want to deterministically run things faster than 10ms, then you probably need to move that part of your application to hardware, either by streaming, or by utilizing a PLC if you need to do fast, tight control.  This is true with any software, not just DAQFactory.


Link to comment
Share on other sites


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