Windmill Data Acquisition Software Logo
20 Septempber 2019

Windmill Software
Data Acquisition Intelligence
Call now: +44 (0)161 833 2782


When data acquisition equipment receives an analogue signal, it digitises it - converting it to a format that the PC can understand. This is done by an analogue-to-digital converter (A/D converter).

One A/D converter can only digitise one signal at a time. Some measurement systems provide an A/D converter for each analogue input, giving simultaneous sampling. However, it is more common to switch (multiplex) the signals in turn to one converter. This method used in low-cost systems like the Windmill USB data acquisition and control units.

Simultaneous Sampling

In true simultaneous sampling the data acquisition hardware provides an A-D converter for each analogue input signal. Providing sampling is initiated from a single clock source, this both permits simultaneous sampling and ensures that there is no reduction in sampling rate as the number of inputs increases. However, this method is very expensive.


The second, and more common, approach is to use a single analogue-to-digital converter and switch each signal in turn to the converter. This is a much cheaper solution. However it does not provide simultaneous sampling across the inputs and as more inputs are added the maximum sampling rate is reduced per input. For example, if your system can read 1 input channel 100 times a second, when reading 10 input channels it is limited to 10 readings per second per channel.

Settling Time and Cross-Talk

As the multiplexer switches one input after another to the A-D converter, you must allow time for each reading to settle to its new value. This settling time defines the minimum interval between reading each input. If you try to go faster than this there will be increasing cross-talk between channels, leading to inaccurate results. Cross-talk is when one channel's signal causes an undesired effect on another.

Settling time graph
Settling time: the time taken for the input channel to achieve its new value. The settling time determines the time needed between reading each input.

Mixing Small and Large Signals

Low-level signals, like thermocouple voltages, take longer than higher voltages to settle to their true value. It's always good practice to group the signal sizes. Some data acquisition systems let you set different inter-channel intervals for different groups of channels. This is especially valuable when streaming data directly to disk at high speeds. For slower applications, software like Windmill lets you set different settling times for different channels.

Another consideration when monitoring different sized signals, is being able to choose the range of each input channel individually. The range refers to the maximum and minimum voltage that will be digitised by the A/D converter. It's always best to choose the smallest range that encompasses the signal, as this optimises resolution. For low speed applications (Hz) some software will automatically select the best range for you, but this should be turned off for high speed applications (kHz). Independent ranges lets you to mix, say, thermocouples, 2 V instrumentation outputs and 4-20 mA process signals in one multiplexed scan.

Burst Scanning

When collecting data fairly slowly it is possible for the scan rate (the total time to read all the channels once) to be much slower than the minimum inter-channel interval suggests. In this case it may make sense to sample the channels fairly quickly once a scan starts, giving readings that are taken closer together in time and so more easily compared. This relatively long break between scans is known as burst scanning.

Mixing Fast and Slow Changing Signals: Split-Rate Scanning

Suppose you are monitoring an engine. You are recording pressure signals from the cylinders as well as coolant temperatures. It is sensible to record the pressure signal much more often than the coolant temperature. This leads to the idea of split-rate scanning where a subset of channels is recorded every scan, while all channels are recorded every nth scan.

Logging Data from only Some of the Connected Inputs

For test applications you may be interested in reading from some inputs in one test run and from a completely different set of inputs in another. You obviously don't want to slow down the system by reading all channels every time. Software like Windmill avoids this by letting you select a sub-set to scan for each test. This avoids the need to rewire your connections each time you want to record some data.

Windmill SetupIML Software
Configuring an analogue input using Windmill Software

Data Acquisition Software

Windmill has two data acquisition software suites. One, called Windmill, supports low-speed multiplexed systems with independent input ranges and channel sub-sets. The other, called Streamer, supports higher-speed multiplexed systems with independent input ranges, channel sub-sets, inter-channel intervals, burst scanning and split-rate scanning. Assuming in both cases that the hardware also supports these features. You can buy Windmill and Streamer from our data acquisition shop.