LabVIEW Data Aquisition and Logging Application

Job ID: 40129072

Budget: $50 – $0 USD

Introduction:
At USTA we use a desktop based data acquisition, visualization, and logging application which is written in LabVIEW 2019 to perform tests and collect data from a suite of sensors in our facility. Sensors output a variety of analog and digital signals; they are fed into a National Instruments and other 3rd party input modules via the PXI standard. We use analog current, voltage, and frequency inputs and several protocols for digital communication.
The DAQ launches 2 hardcoded acquisition tasks which read different but overlapping sets of sensor data at a user configurable acquisition rate. Upon request, the program will log a finite number of samples to a TDMS file and include operational metadata such as the timestamp and a description tag.

Issues:
- We cannot dynamically configure acquisition tasks and other application resources.
- Application is not easily extendable or maintainable.
- We do not have a system for version control.
- There are several features we would like to add.

Project Proposal:
Rather than alter our existing program. We would like to develop a new one from scratch using a known LabVIEW framework. Our goal is to more easily maintain and extend the code base as we deploy it to multiple facilities, each with different hardware available for acquiring data.

We’re looking to hire those who can:
- Design and implement a clean user interface and experience
- Design the application architecture in collaboration with our current engineer
- Create an extensible hardware abstraction layer.
- Implement the application as architected.

Key features:
- User-editable configuration of sensors, channels, tasks, transformers, controllers, acquisition timing, logging timing which can be versioned, saved, and loaded at launch.
- Configuration settings stored in human-readable format (JSON or INI).
- User permissions system for configuration editing.
- Logging to TDMS or CSV with automatic file rollover and basic metadata tagging.
- Real-time graphs and numerical indicators updating smoothly during runs.
- During a 60-minute test run the UI remains responsive and no data samples are lost at 1 kHz aggregate rate.

Deliverables:
- Source code and project file ready to open in a non-legacy version of LabVIEW
- Hardware Abstraction Layer class template plus concrete child classes for each hardware target including DAQmx (analog voltage, analog current, thermocouple, RTD and digital boolean), NI-DMM, VISA, and a 3rd party API.
- Executable build spec and short deployment guide.
- README documenting how to operate the application and extend or alter the program to accommodate new sensors/hardware families.