LabVIEW based Advanced Instrumentation Systems

11.4: Client Server Applications in LabVIEW

11.4 Client Server Applications in LabVIEW

National Instruments LabVIEW is a very flexible programming environment for instrumentation development. In version 5.x LabVIEW has gained functionality to facilitate interprocess communication. In this application the method to build a client-server system is discussed. Here the server process runs asynchronously.

11.4.1 Interprocess Communication

Version 5.x of LabVIEW introduces a number of interprocess communication methods, which is discussed below. All of them, however, follow a similar pattern of use; creation of a refnum, writing or generation of an event, reading or waiting for event with a timeout, and deletion of refnum and freeing of resources. In the context we are discussing here, a process is an independently running LabVIEW routine, however, all such processes are launched from the same LabVIEW instance (either the development environment, or a runtime engine).

Notifiers

A notifier is a mechanism for passing transitory data from one process to another. The data contained in the notifier may be overwritten before the reader reads it. If there is more than one process waiting for a given notifier then they all receive the data sent. This process is somewhat analogous to sending data on a UDP broadcast, in that neither sender nor receiver should assume that all data that was sent was received. A simple example of a notifier is shown in Fig. 11.25. A notifier is well suited for transmitting informational messages about program state between processes.


Fig. 11.25: A simple example of using a notifier to communicate between two parallel loops

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: OPC (OLE Process Control) Servers
Finish!
Privacy Policy

This is embarrasing...

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