TechTip: Choosing a Software Environment for Data Acquisition

Objective
To highlight the different Software options available for data acquisition (DAQ) applications, and outline the Measurement Computing Corporation (MCC) support for these options.

Intended Audience
Those new to data acquisition, new to MCC data acquisition products, or who have not decided which software solution is best for their situation.

Overview
Data acquisition software is available in three basic categories:

  • Ready-to-run, pre-configured applications
  • General-purpose programming environments
  • Application-specific programming environments
Ready-to-Run Applications
Ready-to-run, pre-configured applications are the simplest to use since they don’t require programming or special skills to sample data. These applications are designed to easily perform common tasks, such as configuring devices and channels, and logging and displaying data.

Although easy to use, the downside of these ready-to-run applications is that they cannot handle more complex tasks. If your needs outgrow the capabilities of the application, choose another application that supports your needs, or move into a programming environment.

MCC ready-to-run applications include TracerDAQ, TracerDAQ Pro, DAQami, and InstaCal.

TracerDAQ and TracerDAQ Pro TracerDAQ and TracerDAQ Pro
A set of virtual instrument applications used to generate, acquire, analyze, display, and export data. Includes a strip chart, oscilloscope, function generator, and rate generator. The Pro version provides enhanced features.

Windows® OS

DAQami DAQami
Drag-and-drop software interface used to acquire, view, and log data. DAQami can be configured to log analog channels and to view that data in real-time or post-acquisition on user-configurable displays.

Windows OS

InstaCal InstaCal
An interactive utility that configures MCC hardware, and for supported devices, performs calibration tasks. InstaCal provides the fastest way to confirm that valid signals can be acquired. InstaCal can read and write analog and digital signals in order to test the device functionality and to confirm sensor connections and sensor integrity.

Windows OS


General-Purpose Programming Environments

Programming environments such as C/C++®, C#®, Visual Basic®, and Java™ are general-purpose, text-based languages. These are the most flexible and lowest cost programming options, but are also the most challenging and time-consuming to learn. Those who have previous programming knowledge are more likely to have success in these languages than those who have no programming experience.

MCC offers numerous options for low-level programmers for any programming environment and any operating system, such as the Universal Library (UL), UL for Android™, Linux® drivers, and the DASYLab® Python® script module.

Universal Library Universal Library

Programming library of function calls for C, C++, VB, C# .Net, and VB .Net using Visual Studio and other IDEs. The UL includes a driver with a common Application Programming Interface (API) for most MCC data acquisition boards and devices.

Windows OS

UL for Android UL for Android™

Programming library of function calls for Java programmers who develop apps for Android-based tablets and phones. UL for Android communicates with select MCC DAQ devices.

Android OS.

Linux Linux Drivers

Open source Linux drivers are available through a third-party with the support of MCC. These drivers are tested, and support many MCC devices.

Linux OS

DASYLab DASYLab® Python Script Module

Python script is supported in the DASYLab Full and Pro editions, and allows users to create custom modules with Python script. This feature brings DASYLab DAQ and analysis features to those who prefer to program in a text-based language.

Windows OS


Application-Specific Programming Environments

Application-specific programming environments are single-vendor solutions that target particular segments. Popular icon-based programming applications in this category include NI LabVIEW™ and DASYLab. These environments focus on test, measurement, and control functions, and provide a rich environment for test and measurement applications. The Mathworks’ MATLAB® focuses on technical computing and modeling and provides a popular scripting environment for acquiring data from a device and analyzing this data.

Application-specific programs are easier to learn than general-purpose programming environments like C, and are a great choice for those that aren’t trained programmers.

The downside of a high-level programming environment is the relatively high cost to purchase. Both MATLAB and NI LabVIEW cost over $2,000 for a single license, while DASYLab is a less expensive option starting at $495.

Another item to consider is the limited number of programmers relative to general-purpose environments. There are far more C programmers than NI LabVIEW, DASYLab, or MATLAB programmers. This is an important consideration if you need to maintain an application over a long period.

MCC offers drivers for NI LabVIEW (ULx for NI LabVIEW) and DASYLab. Drivers for MATLAB are available for many MCC devices on The MathWorks website.

ULx for NI LabVIEW ULx for NI LabVIEW™

A comprehensive library of VIs and example programs for NI LabVIEW that is used to develop custom applications that interact with most MCC devices.

Windows OS

DASYLab DASYLab®

Icon-based data acquisition, graphics, control, and analysis software that allows users to create complex applications in minimal time without text-based programming.

Windows OS

MATLAB MATLAB®

High-level language and interactive environment for numerical computation, visualization, and programming. The Data Acquisition Toolbox™, provided by The Mathworks, allows users to acquire data from most MCC PCI and USB devices.

Windows OS


General-Purpose and Application-Specific Programming Comparison


Options C, C++, C#, VB, Java NI LabVIEW DASYLab MATLAB
Ease of DAQ
Programming (Novice)
Difficult Medium Easy Medium
Programming Community Size Very Large Large Medium Large
Complex Applications Yes Yes No No
Built-in DAQ Support No Yes Yes No
Built-in Analysis No Yes Yes Yes
MCC Technical Support Yes Yes Yes Yes

More Information
Please contact Measurement Computing Corporation if you have any questions or if you would like any further information.

Additional TechTips are available on our Data Acquisition Technical Articles web page.