Application Development Case Studies

CASE STUDY #1: Supervisory Control and Data Acquisition for Four-in-One Smart Utilities Plant

Aim: To develop a supervisory control and data acquisition software platform for a novel four-in-one smart utilities plant prototype. 

Challenge: The key challenge for this application came about in the variety of hardware components used, and how to integrate them all within LabVIEW, which was the selected software platform. The system used a number of third-party Modbus devices, such as power meters, variable speed drives (VSDs), heaters and gateways. There were also five subsystems that performed control and data acquisition and involved different analog and digital sensors and actuators from several vendors. In terms of user interface (GUI) requirements, the user wished to develop multiple custom panels for viewing and controlling each subsystem.

Solution: We used the NI CompactRIO for the five subsystems, and employed its modular chassis to connect to the analog and digital I/O easily. LabVIEW also supports many ready libraries, from both NI and user custom made ones to support industrial communication. Here, we made use of NI’s Modbus library to integrate with the third-party Modbus devices. Nimble Focus Consulting worked closely with the user during the design phase, providing consultation on the best NI hardware selection and sensors integration, as well as user workflow for software requirements. We also supported the user throughout their development and test to ensure a successful commissioning.

NUS researchers develop 4-in-1 smart utilities plant custom-made for tropical climate

Four-in-one utilities plant for the tropics


Figure 1: System overview

Custom Driver Development Case Studies

CASE STUDY #1: Prototyping a Light-based 3D Printer

Aim: To investigate resin properties under different light conditions for a 3D printing manufacturing process. 

Challenge: To integrate a Digital Light Processing (DLP) device as the light source for the prototype. The DLP does not have ready LabVIEW drivers, only a dynamic linked library (DLL). The data types used by the DLL are relatively more complex and cannot be readily called in LabVIEW.

Solution: We created a wrapper DLL that interfaces to the DLP’s original DLL, and then packaged the wrapper DLL calls as a VI library that can be easily used in LabVIEW.  This lets the DLP be integrated easily with the rest of the hardware within the LabVIEW environment.


Figure 1: Overview of the prototype setup


Figure 2: Interfacing to the DLP’s original DLL via a wrapper DLL


Figure 3: The custom LabVIEW library built upon the wrapper DLL

Code Review and Migration Case Studies

CASE STUDY #1: Code Conversion for Legacy System

Aim: To safely and reliably upgrade users from legacy LabVIEW versions, so that their systems still work smoothly with replacement hardware.

Challenge: The user is running a data acquisition and control application in LabVIEW 5.1 on his old computer running Windows 98/XP. Due to computer upgrades, he now needs to run his application on a new computer running Windows 7; however, LabVIEW 5.1 is too old to be supported on this OS, and the NI data acquisition hardware driver’s version is too old to be supported on his new computer either.

Solution: We helped the user perform the code conversion to the current LabVIEW version (201x) and upgraded his drivers. In addition, we checked through each VI to ensure none was broken. In cases where there were unsupported code elements, Nimble Focus Consulting evaluated them and had them replaced with modern equivalents.

More case studies coming soon.