LabVIEW Graphical Programming, Fourth Edition

Data Distribution

If you think about MMI display hierarchies, one thing you may wonder about is how the many subVIs exchange current data. This is a data distribution problem, and it can be a big one. A complex process control system may have many I/O subsystems of different types, some of which are accessed over a network. If you don't use a coherent plan of attack, performance (and perhaps reliability) is sure to suffer. In homemade LabVIEW applications, global variables generally solve the problem, if used with some caution.

Most commercial process control systems, including DSC, use a realtime database to make data globally accessible in real time. You can emulate this in your LabVIEW program at any level of sophistication. The general concept is to use centralized, asynchronous I/O handler tasks to perform the actual I/O operations (translation: stand-alone Vis that talk to the I/O hardware through the use of LabVIEW drivers). Data is exchanged with the I/O handlers via one or more global variables or queues (Figure 18.23). User-interface VIs and control VIs all operate in parallel with the I/O handlers.


Figure 18.23: Data distribution in a simple Lab VIEW process control system. Control VIs write new settings to an output queue, from which values are written to the hardware by an output handler VI. An input handler VI reads data and stores it in a global variable for use by multiple display VIs.

Input Scanners as Servers

The client-server model is very effective for...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Air Handlers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.