Data Acquisition (DAQ) Software Overview
The following diagram, in the style of a simplified UML object diagram, shows the elements of a complete software system for data acquisition and control applications. Details about the elements are given below. Use it to help determine the DAP software your application requires.
Data Acquisition Processor (DAP) software is supported at three levels, each one including all features of the preceding level. All software levels support all DAP models.
DAPstudio software is optional, but helpful for configuring DAP processing. In some cases, DAPstudio has everything necessary for a complete application environment on the host system. A copy is included with each DAPtools Professional package.
Application software can be an application you develop, a third-party application, or your favorite "data acquisition environment". Though not mandatory, most developers use DAPstudio software to help configure the Data Acquisition Processor. Some applications use DAPstudio in both roles, for configuration and for the primary application.
A licensed copy DAPstudio software is included with DAPtools Professional. A demo version of DAPstudio – that you can upgrade to a fully licensed version – is provided in DAPtools Basic and DAPtools Standard.
Input, output, and processing on the Data Acquisition Processor are set up using a configuration script file, sometimes called a "DAPL file" because the script will be interpreted and applied by the DAPL system. The same script file will work for any DAP model – as long as you use only features that the board supports. You can prepare the configuration script file with any text editor, or you can let DAPstudio software generate it for you. If you are using DAPstudio software as your application environment, you do not need to save a separate script file.
All host software interactions with a Data Acquisition Processor, both for configuration or run-time activity, work through functions provided by the DAPIO32.DLL. There is no direct interaction with hardware or hardware drivers. If you are developing your own software applications, you need the language-specific DAPIO bindings provided by the DAPtools Standard or DAPtools Professional packages.
Your data acquisition applications can access multiple Data Acquisition Processors. Whether located in the local host or a remote station, all DAP boards are accessed through services of the DAPIO interface. Applications might establish network links for other purposes, but DAP boards do not connect in that manner. If no DAP is installed at the local station to provide the DAPIO interface, you need to install the special DAPcell Client configuration from DAPtools Professional.
DAPcell is the central hub for DAP activity on each host system. DAPcell services are configured through the Data Acquisition control panel application installed by every DAPtools version.
There are four server versions, providing different degrees of access.
Data buffering services and device driver functions supported by DAPcell are always available and always isolated. There is no direct access to these functions from application software.
The DAPcell services also manage the host side of data transfers across the bus to the local DAP boards. The DAPL system, running on the Data Acquisition Processor boards, manages the data transfers and processing on that side.
All of the DAPtools packages provide DAPL system software for all DAP models. All versions of the DAPcell services will load the DAPL system code to the DAP at system boot time. If you have registered any additional processing software modules with the DAPcell services, these also will be merged into the DAPL system automatically. For example, the DAPtools Standard and Professional CDs provides the DAPL IIR Filtering Module, which adds processing for the most common IIR digital filter types.
There is no direct user interaction with devices on the Data Acquisition Processor. The hardware-driven, time-critical processing and software-based processing (under control of a task scheduler) perform all of the input, output, and processing tasks defined in the configuration script. While this occurs, the DAPL system continues to transfer data and messages, as specified by the configuration script and interactive requests through the DAPIO interface.
Time-critical processing such as safety monitoring or feedback control should not involve the delays and uncertainties of data transfers to the host – and then back again. These activities can be moved entirely onto the DAP, leaving the host free to monitor progress and analyze results. On the DAP board, numerically intensive processing to clean up or reduce raw data can be performed in parallel with data collection. Commands that you develop to run in the DAPL embedded environment will require the C++ bindings provided by the Developer's Toolkit for DAPL, which is available only with the purchase of DAPtools Professional.