Home Hard & Software What's New! Feedback Search References


One of the most important things to realize about Windows (and, even more so about Windows software written in Visual Basic) is that Windows is not a real-time operating system.  By that I mean that there is no way to assure a specific time response to a change of status in hardware, either by polling or by response to a hardware interrupt.  You can make some useful statements about the average response time, or latency, in a Windows based system.  However, you cannot offer any guaranties.  So, if your application is critical, you have to realize that a the PC needs hardware help.

There are some things that can be done in software, and by optimizing the PC to improve performance.  While these won't do what cannot be done (see the preceding paragraph), you may gain some benefit.  Click here for some suggestions.

Most usually, a true real-time data acquisition application requires a dedicated processor.  This processor (or processors) is (are) programmed to perform the real-time control of the data acquisition hardware, and provides a method to communicate results to the controlling PC application.  These communications may be done through shared memory, if the dedicated processor is a plug-in board that lives on the PC bus, via serial, parallel, or network connection if in an external device.

There are a number of very sophisticated data acquisition systems that connect to PCs, that use one form or other of embedded processor with real-time capability.  Naturally, the cost of these add-in boards may exceed the cost of the host PC!  Here are a couple of manufactures of boards that you can use internal to a PC.

Microstar Laboratories (example, iDSC 1816), and National Instruments (RT series boards).  The National Instruments offering uses LabView RT, a real-time OS and development environment for these boards. 

Data Translation Measurement Foundry (DT Measure Foundry) attempts to eliminate, or reduce,  the  need for special computing hardware.  It does this by making delays in the program predictable by bypassing the Windows message queue.  The company states that much of the unpredictable timing of Windows is caused by the message queue.  It supports Data Translation PCI and USB data acquisition hardware.


Send mail to dick_grier@hotmail.com with questions or comments about this web site.
Last modified: 11/25/09
Hit Counter