Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

LabVIEW Real-Time Delivers Flexible User Interface for Handheld Computers

  Print

Author(s):
Dmitry Korobkov - ViTech Co. Ltd.

Industry:
Telecommunications

Products:
Compact FieldPoint, LabVIEW PDA Module, LabVIEW, FieldPoint

The Challenge:
Providing a cost-effective field user interface for the FieldPoint FP-2000 module that displays alphanumeric and graphical data and can send operator input to the module.

The Solution:
Using the LabVIEW Real-Time module and the C programming language, we created an interface based on a handheld computer under PalmOS that communicates with the FieldPoint module on a RS-232 link.

"Combining the computing power of the FieldPoint FP-2000 module and interface capabilities of modern, cheap minicomputers results in a convenient, inexpensive, and flexible solution, providing a user interface for measurement and automation controllers and other stand-alone equipment."

Introduction
Stand-alone modules, such as the NI FP-2000, running LabVIEW Real-Time provided us great computing potential but our application demanded improved user interface capabilities. It was impossible to use TCP/IP across Ethernet for the user interface, so we created a portable interface, intended primarily for field engineers. Users can rely on it as an inexpensive stationary device interface. With the portable device, users can collect health and event logs, as well as other data arrays from multiple FieldPoint units.

The software for the user interface consists of two parts: the handheld PalmOS written in the C programming language and the FP-2000 using LabVIEW Real-Time to periodically poll serial ports for Palm presence. When the LabVIEW Real-Time program finds a Palm, the proprietary data exchange begins. Its portability allows users to connect and disconnect the unit quickly. The interface can display dynamic graphs (up to several frames per second) and static alphanumeric data. User input, such as button clicks or graph pointing, transfers via LabVIEW Real-Time to the handheld computer, so the user can change unit settings or zoom in and out on graphs.

The Handheld Side
Modern handheld computers or PDAs provide convenient bidirectional user interface and good computation capabilities in a single unit at a reasonable price. Handheld computers are lightweight, small, and widely available. Thus, a handheld computer delivers a convenient means to interface with stand-alone devices by collecting and analyzing data and performing a wide variety of other tasks. Users can also employ a handheld computer as a built-in interface for a given system.

Nearly all handheld computers feature the RS-232 serial interface. This interface makes connecting and communicating with stand-alone devices easy and clear. Users can also connect to industry RS-485 networks for monitoring or controlling the interface.

The majority of handheld computers operate under one of two operating systems: PalmOS or PocketPC/Windows CE. There is not a big distinction between them when writing interface applications. PocketPC-based solutions offer convenient software development and in-system debugging. There are free development and emulation tools for PalmOS. Both systems provide programmers with text input and output functions, lists, combination boxes, bitmaps, other standard user interface elements, and drawing tools. We chose PalmOS-based Palm m100 handheld based on availability of industrial models. The software for Palm was written with C. It is based on the following principles:

  • The computer can connect and disconnect at any moment
  • Harsh environments produce a high level of interference that can affect communication
  • The simpler the user interface, the better


When started, the program periodically attempts to establish connection to a peer via serial port. When physical connection occurs, the program queries the peer, periodically obtains the needed data, and finally displays the required graphs and alphanumeric information. Users can set the graph refresh rate as high as several frames per second. The LabVIEW Real-Time module defines the content of the data entries on the screen, and the user can adjust the displayed values. The system sends the changes to the LabVIEW Real-Time module on user command. When the user taps the graph area with the handheld computer pen, the system sends the tap coordinates to the LabVIEW Real-Time module to focus in the graph area.

The LabVIEW Real-Time Module Side
The main task of the LabVIEW Real-Time module is execution of a control loop. With predefined intervals, it polls the serial port for the Palm response. If the user connects to the Palm device, it sends an answer. The Palm’s response contains the current settings of the information requested. The settings include the time interval to update the data and the information type (controlled value, event log). To ensure there is no interference with the main control loop, a separate thread controls the functions of polling and transmitting the information. The thread waits for incoming communication synchronizing timeout to the polling interval. If the system receives no commands, the thread queries the Palm device for information settings. If the system receives the command, it processes it as an external control command. This communication method allows users to easily connect and disconnect the Palm device, with the ability to display the internal control data on the connected Palm device and adjust some of the control process.

Results
Combining the computing power of the FieldPoint FP-2000 module and interface capabilities of modern, cheap minicomputers results in a convenient, inexpensive, and flexible solution, providing a user interface for measurement and automation controllers and other stand-alone equipment.

For more information, contact:

Dmitry V. Korobkov

ViTec Co. Ltd

170 Fontanka emb.

St. Petersburg, 198035, Russia

Tel: +7 (812) 251-0601

E-mail: dmitry.korobkov@vitec.ru

Browse All Case Studies »

  Print