On the Fly Graphical Interface Customization
The Challenge
Create a modular application that eliminates the non-standard file protocols used with a Compact FieldPoint controller and provides the ability for the user display to adapt while a filter efficiency assessment is running.
The Solution
Leverage LabVIEW’s built in ability to communicate via standard network protocols while leveraging LabVIEW’s Object Oriented Design capability to empower the client with the ability to interface between sections of code without interrupting the filter efficiency assessment.
Introduction
Data Science Automation (DSA) is a premier National Instruments (NI) Alliance Partner that specializes in automating and educating the world leading companies. Clients choose DSA because of DSA’s deep knowledge of National Instruments products, disciplined process of developing adaptive project solutions, staff of skilled Certified LabVIEW Architects and Certified Professional Instructors, and unique focus on empowerment through education and co-development.
Reasons behind the Design
DSA wanted to empower the client with the ability to easily modify their application without having to completely abort their filter efficiency assessment application while also providing a platform and interface that is intuitive even to those that are not formally trained in the LabVIEW programming environment. DSA leveraged National Instruments ability to implement an Object-Oriented (OO) design approach. Object-Oriented Programming (OOP) has demonstrated it is superiority over procedural or sequential programming as a powerful architecture in many languages. It allows engineers to develop applications with well-designed interfaces between sections of code. OOP also provides proven rules for creating and modifying those sections of code. OOP designs in general are easier to debug, while providing methods for scalability and flexibility. OOP designs allow for a Plug-in design feature which would allow modifications to the source code that could implemented without the client’s aborting an assessment test. This is crucial considering the assessment test operates over weeks or even months with continuous data acquisition and analysis. If a software update needs to be applied, the client does not want to stop an assessment, they simply wanted an on the fly update applied which the OO design approached allowed DSA to implement.
The Client was not formally educated by certified LabVIEW professional instructors. So by enforcing inheritance from the base classes created by DSA engineers, the client was less susceptible to making fundamental structural or architectural errors when modifying or editing the original source code. This gave the client confidence in adding and modifying features to the application without the risk of corrupting the current ongoing assessment.
LVOOP (LabVIEW OOP) Integration
To compensate for the client’s informal coding practices, DSA designed a core or base set of classes as the foundation of the system. The core classes outlined how the application would communicate with multiple National Instruments Compact FieldPoint units, process the acquired data and display the required data. The client understood that the base classes controlled a majority of the interactions of the various code segments of the application. It was also understood that the client would be able to inherit from these core classes and build additional functionality into the child classes to create custom displays for each of their customers. This was extremely useful for keeping development cost at a minimum while maximizing the client’s ability to customize an application to their customer’s unique requirements.
Another feature for the LVOOP design was its ability to quickly load or change what the client referred to as views or graphical user interfaces while providing the client with the ability to customize a user interface at any time. For example, the engineer may need to be able to modify the user interface of the Graphs Display (Figure 1) to display three graphs instead of two. By using Dynamic Dispatching and basic OOP design features, DSA was able to provide the client with a plug-in architecture that would allow them to load a modified graphics display object at any time (Figure 2). This ability to load new display gave the client the ability to sell to their customers a proprietary, yet completely customizable, display solution with automatic updates while ensuring that the current assessment test would not be affected.
Benefits of Partnership
The Alliance partnership between Data Science Automation and National Instruments has allowed DSA to tackle many extremely complex engineering challenges while maximizing our client’s return on their investment. This Graphical Interface Customization (GIC) project was no exception, by selecting NI LabVIEW as the programming environment DSA was able to create a software package that not only reduced the overhead costs but also greatly increased the client’s productivity with customized applications. By using NI software, the GIC application enabled the client to save development time from conception to deployment. These savings permitted the development of application enhancements.
Contact Information
Brad Westfall, bjw@DSAutomation.com
Jeff Scott, jjs@DSAutomation.com
Figure 1 – 1 Graphs Display user interface
Figure 2 - 2 Graphs display use dynamic dispatch
Industry:
Automated TestAttributions:
Brad Westfall, Senior Automation Systems Consultant, Data Science Automation, McMurray PA
Jeff Scott, Senior Project Manager, Data Science Automation, McMurray PA
Products Used:
LabVIEW 2012
Compact FieldPoint
Self-Qualification Form
As a technical user, you may know exactly what you need from us already. If you do, save time and streamline the discovery process with our self-qualification form, where you can let DSA know exactly what you need.
What We Recommend
Get started today and schedule a free consultation. Try us risk-free and learn how you can benefit from our methodical and certified best practices to advance your automation engineering and digital transformation initiatives.