Customer Solutions
LabVIEW Advanced Application Development Course Offers Valuable Tools
Author(s):
Jonathan Fazekas, Cincinnati Test Systems
Industry:
Industrial Controls/ Devices/ Systems
Product:
LabVIEW
The Challenge:
Learning to manage large applications that incorporate time-critical machine control and multiple network platforms, including extensive data analysis and logging.
The Solution:
Reducing programming time by two to three months by taking the National Instruments LabVIEW Advanced Application Development course.
As a physicist, I have had neither the time nor opportunity to formally study computer programming. As an innovator of new technologies and products for industrial use, my research always requires custom software to prove concepts and demonstrate feasibility. This creates a difficult situation in which I frequently require custom software to discover whether a certain product idea is viable. LabVIEW has always been my tool to quickly create applications to test new ideas.
Over the years, my LabVIEW applications have evolved from graphing an analog input to applications managing 100 independent PID systems through CAN 2.0b frame protocol. Most recently, I have struggled to manage even larger applications that incorporate time-critical machine control and multiple network platforms, including extensive data analysis and logging. Until I took National Instruments LabVIEW Advanced Application Development course, I was convinced that LabVIEW could not suitably handle large applications.
Two Valuable Tools
There are two specific tools I learned during the course worth sharing with those who may struggle with large applications. First, by using multiple-queued message handlers, I significantly reduced the amount of processor time consumed by my applications. The QMH method allows independent control loops to obtain processor time only when necessary.
Second, a good introduction to GOOP provided an opportunity to reduce the amount of screen space required for some tasks. Block diagrams that previously spanned several screens are now neat and concise. Using the GOOP method, each object contains its own data, so invoking functions on one object does not affect any other objects of the same class. Unlike global variables that share data, no new VIs need to be written and saved to disk to support multiple objects.
Because the internal data all resides in the component, changes to the internal data will not directly affect the users of this component. Thus, you can reuse the same component in many applications without having to worry about future incompatibility. In particular, GOOP’s ability to encapsulate data removed data processing from my block diagrams allowed me to begin adding to my reuse library.
I would have profited more from this class had I taken LabVIEW Basics II. I know I missed out on fully understanding the potential of VI server and the use of “plug-ins.” In any case, my desire was to learn how to manage large applications. Since, in the end, I could create the necessary software myself as I developed the test technology, I did not require a full-time programmer to aid my research.
Although a full-time programmer would be much more efficient at programming, I was able to shape the software as the project evolved, saving programming hours in the long run. My estimate would be a savings of two to three months of programming time saved over the course of the two-year project.
For more information, contact
Jonathan Fazekas
Cincinnati Test Systems
5551 Dry Fork Road
Cleves, OH 45002