Date Published: March 17, 2015
Application: Data Acquisition & Control
Manufacturer: ADwin
Measurements: Counter, Digital, Event
Download the PDF version

Real-Time DAQ and Control Systems Enable High-Speed Process Monitoring

*Adapted from 'Event Triggered Data Acquisition with ADwin’ by Doug Rathburn, Keithley Instruments, Inc.


adwinIn many of today’s production environments, it is extremely important to capture all the data coming from a particular process. Often, the data comes into the data acquisition system asynchronously and without warning. For these demanding applications, ADwin data acquisition and control systems are commonly used as high-performance standalone real-time systems. These solutions have analog, digital, CANbus, and Serial I/O for Manufacturing, Test Stand, Research, Aerospace and Automotive applications.

An ADwin solution allows the data acquisition system to:

  • Capture important information;
  • Analyze the data (filter, FFT, DFT etc.);
  • Respond to a decision (based on the data) in real-time without the latencies inherent to Windows.

This application note from CAS DataLoggers illustrates a simple event-triggered data acquisition system that simulates the actions of an oscilloscope. ADwin can be configured to acquire many channels of data independently, but for simplicity and to cover the main concepts, our article is limited to describing how to configure a single-channel data acquisition system.

Test Description:

The ADwin product family has many features which make it useful for measurement and control applications. ADwin products house their own DSP processors with nanosecond response timing to control a variety of inputs and outputs (I/O). The I/O includes ADCs (analog-to-digital converters), DACs (digital-to-analog converters), digital inputs, and digital outputs, which can monitor the process output with either analog or digital inputs. The ADwin processor then calculates the error between the process output and the set point. The system then calculates a new level for either an analog or digital output to control the process and minimize this error.

data_acquisition_systemFor this particular application, ADwin monitors one of its analog input channels, waiting for a rising edge in the signal. Once this rising edge passes a predetermined threshold point, data acquisition begins and the data is stored in the ADwin’s memory. Acquisition is not complete until a falling edge is detected in the signal or until the memory is filled. If the falling edge is detected or the memory limit is reached, ADwin will interrupt the PC (running TestPoint™), which in turn transfers the data to the PC’s memory for further analysis or presentation to the user. ADwin also allows the PC to transfer the data out of the ADwin’s registers without slowing the ADwin processor, maintaining the real-time operation of the system.

The programming language for the ADwin family is ADbasic. Together the hardware and ADbasic allow you to define integer and floating-point variables which are stored in registers that can be accessed while ADwin is running. The I/O registers can be easily accessed by most of today’s popular programming environments, such as TestPoint™, LabView™, Visual Basic, or C.

Methods and Techniques:

Multi-Channel Programming:

There are many different methods used to acquire data on multiple channels. While this application note shows only single-channel acquisition, the ADwin product family supports many channels. The number of input channels and ADCs available are summarized in Table 1 below. Table 1 illustrates how it is possible to expand the capabilities and channel count of your event-driven data acquisition.

Table 1: ADwin Family Analog Input Selection



Analog input channels

Number of ADCs








Up to 480



Data Interchange between ADwin and the PC:

Data can be dynamically shared between the PC and ADwin. Programs such as TestPoint, Visual Basic, C, and LabVIEW can read data from the ADwin memory or set parameters in memory. The memory locations are updated and used ‘on the fly,’ a process that does not slow or interrupt the ADwin process while it runs. Variables can be defined for interchange as integers, floating-point numbers, or data arrays. The data arrays can be defined as short, integer, long, or floating-point numbers. The data is saved and updated in real time as the ADwin process is running, and, if the PC updates one of the registers, ADwin will use that new value during the next process execution.

All of the programs mentioned (TestPoint, Visual Basic, etc.) either have drivers or include files to communicate with the ADwin hardware, but TestPoint is the only program that supports the hardware interrupt from ADwin. When ADwin generates an interrupt (for example, executes the ACTIVATE_PC ADbasic command), the Action List of the ADwin Real-Time Object in TestPoint executes. If another programming environment is used, data can still be read and sent to the ADwin hardware, but ADwin cannot trigger an event to occur.

Data Interchange with FIFO Buffers:

For applications with large amounts of data that must be continuously transferred to the host PC, ADwin allows the data structure to be configured as a FIFO (First-In, First-Out) buffer. The data that is stored in the FIFO is read in the same order in which it was stored. An example of a FIFO ADbasic program declaration is:

                DIM DATA_1 [1000] AS INTEGER AS FIFO

This declaration defines an array with: the data set number 1, a length of 1000 integer values, and a FIFO ring buffer structure. The commands FIFO_EMPTY and FIFO_FULL are available in ADbasic to determine if there is still storage space available while the ADwin process is executing.

‘On-the-Fly’ Data Analysis:

ADwin products are designed with their own microprocessors and memory, so they can perform analysis of measurement data before it is sent to the PC for display. If the digital signal processor (DSP) is chosen for the ADwin system, you can perform fast floating-point math operations that are useful for many filtering and Fourier transform operations.

Equipment List:

  1. PC running Windows 2000/XP/Vista/Win7 or Linux
  2. ADwin real-time control hardware
  3. ADbasic real-time development environment
  4. Custom wiring harness for connecting to the test setup

Flexible Solutions:

The ADwin product family offers many different form factors, processors, and I/O in which to create the PID controller. The ADwin family includes:

ADwin-Light-16                PC ISA bus plug-in boards

  • Analog inputs and outputs (one 12-bit A/D)—expandable
  • Digital I/O
  • Optional counters and quadrature encoder
  • ISA communication with the PC

ADwin-Gold                       Stand-alone, external system

  • 16 analog inputs (16-bit @ 10ms & 12-bit @ 0.8ms)—BNC connections
  • 2 analog outputs (16-bit)—expandable
  • 32 digital I/Os, in blocks of 8 as input or output
  • Optional counter (event counter, encoder interface, period cycle, PWM)
  • ISA or USB communication with the PC

ADwin-PRO                        Industrial, modular 19-inch system

  • Up to 4 CPUs per system
  • Modular and expandable:
  • 480 analog inputs (multiplexed or parallel)
  • 120 analog outputs
  • 480 digital I/Os
  • Thermocouples, RTD, counter, filters, isolation, etc.
  • CAN-bus, RS-232, RS-485, RS-422, Profibus
  • ISA or USB for communication with the PC

All three product variations can support up to 32Mbytes of RAM per processor and an optional bootloader. The bootloader stores an ADbasic process(es) and begins running the process upon power-up. Therefore, once the ADwin hardware is programmed, it can be used as a stand-alone solution and without a PC.


ADwin data acquisition and control systems are ideal for operation in process monitoring and control applications. Available in several different form factors, analog inputs, and features, ADwin offers you high-speed precision and control for your manufacturing or other industrial process.

Categories Related To This Application

The below links will lead you to a listing of products to the respective category.

Products Related To This Application

ADwin-light-16 Real-Time Data Acquisition System with Analog and Digital Inputs and Outputs


ADwin-Light-16 Real-Time Data Acquisition and Control System

Compact Real-Time Data Acquisition and Control System

  • 8 Analog Inputs, 16-Bit, 10 μs ADC
  • 2 Analog Outputs, 16-Bit
  • 6 Digital Inputs, 6 Digital Outputs TTL/CMOS Compatible
  • 2 - 32-Bit Counters
  • Additional DIO expansion, CAN and Counter options
  • PCI, CompactPCI, and EURO Card and Stand-alone version
  • USB or Ethernet communications interfaces

ADwin-Gold Real-Time Data Acquisition System with 16 Analog Inputs


ADwin-Gold Real-Time Data Acquisition and Control System

  • 16 Analog Inputs (multiplexed) with 14-bit or 16-bit resolution
  • 2 Analog Outputs, 16-Bit (optional expansion to 8)
  • 32 Digital I/O's, TTL/CMOS Compatible
  • Integrated Ethernet or USB interface for PC Communication
  • Optional Counters, CAN, SSI, RS-232/485 Interfaces
  • Rugged Stand-alone Metal Enclosure

ADwin Pro Real-Time Modular Data Acquisition System


ADwin-Pro Modular Real Time Data Acquisition and Control System

Modular Real-Time Data Acquisition and Control System

  • Analog In (Multiplex and Parallel A/D), Analog Out, Digital I/O, Counters, CAN, Serial Cards
  • Full, Half and Quarter Rack Mainframes, AC or DC Power Versions
  • High Performance DSP Processor
  • Up to 480 Analog Inputs, Digital I/O or a Combination of These