NASA/TM--2001-210683

LabVIEW Interface Concepts Used in

NASA Scientific Investigations and

Virtual Instruments

Don J. Roth

Glenn Research Center, Cleveland, Ohio

Bradford H. Parker

Goddard Space Flight Center, Greenbelt, Maryland

David A. Rapchun

Global Science and Technology, Inc., Greenbelt, Maryland

Hollis H. Jones

Goddard Space Flight Center, Greenbelt, Maryland

Wei Cao

West Virginia University, Morgantown, West Virginia

February 2001
The NASA STI Program Office... in Profile

Since its founding, NASA has been dedicated to

the advancement of aeronautics and space

science. The NASA Scientific and Technical

Information (STI) Program Office plays a key part

in helping NASA maintain this important role.

The NASA STI Program Office is operated by

Langley Research Center, the Lead Center for

NASA's scientific and technical information. The

NASA STI Program Office provides access to the

NASA STI Database, the largest collection of

aeronautical and space science STI in the world.

The Program Office is also NASA's institutional

mechanism for disseminating the results of its

research and development activities. These results

are published by NASA in the NASA STI Report

Series, which includes the following report types:

TECHNICAL PUBLICATION. Reports of

completed research or a major significant

phase of research that present the results of

NASA programs and include extensive data

or theoretical analysis, includes compilations

of significant scientific and technical data and

information deemed to be of continuing

reference value. NASA's counterpart of peerreviewed formal professional papers but

has less stringent limitations on manuscript

length and extent of graphic presentations.

TECHNICAL MEMORANDUM. Scientific

and technical findings that are preliminary or

of specialized interest, e.g., quick release

reports, working papers, and bibliographies

that contain minimal annotation. Does not

contain extensive analysis.

CONTRACTOR REPORT. Scientific and

technical findings by NASA-sponsored

contractors and grantees.

CONFERENCE PUBLICATION. Collected

papers from scientific and technical

conferences, symposia, seminars, or other

meetings sponsored or cosponsored by

NASA.

SPECIAL PUBLICATION. Scientific,

technical, or historical information from

NASA programs, projects, and missions,

often concerned with subjects having

substantial public interest.

TECHNICAL TRANSLATION. Englishlanguage translations of foreign scientific

and technical material pertinent to NASA's

mission.

Specialized services that complement the STI

Program Office's diverse offerings include

creating custom thesauri, building customized

data bases, organizing and publishing research

results.., even providing videos.

For more information about the NASA STI

Program Office, see the following:

• Access the NASA STI Program Home Page

at http://www.sti.nasa.gov

• E-mail your question via the Internet to

help@sti.nasa.gov

• Fax your question to the NASA Access

Help Desk at 301--621-43134

• Telephone the NASA Access Help Desk at

301-621--0390

Write to:

NASA Access Help Desk

NASA Center for AeroSpace Information

7121 Standard Drive

Hanover, MD 21076
NASA/TM--2001-210683

LabVIEW Interface Concepts Used in

NASA Scientific Investigations and

Virtual Instruments

Don J. Roth

Glenn Research Center, Cleveland, Ohio

Bradford H. Parker

Goddard Space Flight Center, Greenbelt, Maryland

David A. Rapchun

Global Science and Technology, Inc., Greenbelt, Maryland

Hollis H. Jones

Goddard Space Flight Center, Greenbelt, Maryland

Wei Cao

West Virginia University, Morgantown, West Virginia

National Aeronautics and

Space Administration

Glenn Research Center

February 2001
Acknowledgments

The CAR Virtual Instrument was directed and paid for by Dr. Michael D. King with funds provided by the

MODIS Science Team, the EOS Project Science Office, and NASA's Radiation Science Program.

The project was done under the management of Peter Shu, Chief, Detector Systems Branch,

NASA Goddard Space Flight Center.

Trade names or manufacturers' names are used in this report for

identification only. This usage does not constitute an official

endorsement, either expressed or implied, by the National

Aeronautics and Space Administration.

NASA Center for Aerospace Information

7121 Standard Drive

Hanover, MD 21076

Price Code: A03

Available from

National Technical Information Service

5285 Port Royal Road

Springfield, VA 22100

Price Code: A03

Available electronically at _nasa.gov/GLTRS
LABVIEW INTERFACE CONCEPTS USED IN NASA SCIENTIFIC

INVESTIGATIONS AND VIRTUAL INSTRUMENTS

Don J. Roth

National Aeronautics and Space Administration

Glenn Research Center

Cleveland, Ohio 44135

Bradford H. Parker

National Aeronautics and Space Administration

Goddard Space Flight Center

Greenbelt, Maryland 20771

David A. Rapchun

Global Science and Technology, Inc.

Greenbelt, Maryland 20770

Hollis H. Jones

National Aeronautics and Space Administration

Goddard Space Flight Center

Greenbelt, Maryland 20771

Wei Cao

West Virginia University

Morgantown, West Virginia 26506

SUMMARY

This article provides an overview of several software control applications developed for NASA using

LabVIEW. The applications covered here include

• an Ultrasonic Measurement System for nondestructive evaluation of advanced structural materials, an Xray

Spectral Mapping System for characterizing the quality and uniformity of developing photon detector

materials

• a Life Testing System for these same materials,

• and the instrument panel for an aircraft-mounted Cloud Absorption Radiometer that measures the light scattered by clouds in multiple spectral bands.

Many of the software interface concepts employed are explained. Panel layout and block diagram (code) strategies for each application are described. In particular, some of the more unique features of the applications' interfaces

and source code are highlighted. This article assumes that the reader has a beginner-to-intermediate understanding of

LabVIEW methods.

INTRODUCTION

LabVIEW has developed an enthusiastic following worldwide for physics applications, engineering test and

measurement systems, and process control (Johnson, 1997). Numerous NASA scientists and engineers use the

LabVIEW language as the basis for instrument control, data acquisition, display, and data storage operations

(Baroth, et al., 1998; Buchanan et al., 1996; Huff, 1998; Lhota, 1998; Wilson, 1997). With recent releases, LabVIEW has evolved from an instrument control and data acquisition tool to a general-purpose software development

system that can be employed for nearly any application. Additionally, the ability to interface LabVIEW source code

and applications with other programming languages (such as Visual Basic) means the software engineer can employ

a combination of favorite tools and development environments while working on any project. Moreover, text-based

NASA/TM--2001-210683 1
codingis still easily possible in LabVIEW through various types of formula nodes and script languages (such as

MATLAB). In this article, several of the specific LabVIEW user interface concepts developed for NASA experimental applications are described. This article assumes that the reader has a beginner-to-intermediate understanding

of LabVIEW methods.

Typically, a 'complete' application encompasses control, data acquisition, display, analysis, and data storage.

The front panel layout and block diagram (code) strategies are given for each application. Some of the more unique

features of the applications' interfaces are highlighted. The applications described here include an Ultrasonic Measurement System for nondestructive evaluation of advanced structural materials, an Xray Spectral Mapping System

for characterizing the quality and uniformity of developing photon detector materials, a Life Testing System for

these same materials, and the instrument panel for an aircraft-mounted Cloud Absorption Radiometer that measures

light scattered by clouds in multiple spectral bands. All software was written for standard PCs running Microsoft

Windows 9x/2000/NT operating and LabVIEW version 4 to version 6i.

NASA LabVIEW-BASED APPLICATIONS

Ultrasonic Measurement System For Nondestructive Evahtation of Advanced Structural Materials

The LabVIEW-based ultrasonic measurement system was designed to facilitate high-frequency (1 to 150 MHz)

ultrasonic characterization of the internal structure of materials. Current materials the system is characterizing

include those being developed for advanced high-temperature aeropropulsion applications under supervision of

NASA. The velocity and attenuation of ultrasonic waves are dependent upon both material type (chemical composition) and microstructure (number of voids/pores, grain size). Since material microstructure impacts physical properties (for example, stiffness, strength, electrical conduction and so forth, ultrasonic measurements can to some extent

be used to predict the behavior of materials in Scrv_ce_ : _ _ _

The ultrasonic measurement system W0rks dst'oll0ws. A piez0electric-based ultrasonic transducer is placed on

top of the material sample to be characterized. The transducer is electrically excited by a voltage from a pulser and

transforms the voltage into a high frequency mechanical wave (vibration). The wave is transmitted to and into the

material sample where it bounces off of the sample surfaces. The various bounces or echoes return to the same

transducer where they are converted from mechanical back to electrical form. The echoes are sent to a PC-based

1 GHz analog-to-digital (A/D) converter for digitization. The digitized waveform is output from the A/D converter

for digital processing and display.

The LabVIEW program performs the major functions necessary to control the A/D converter (via a custom

software driver). In addition, the software is responsible for analyzing the measurement data generated by the

experiment, as well as displaying and storing the results of the analysis. Here, the software application and its most

important subVI (subroutine) are described:

• The front panel was designed so that all functions necessary for full operation are clearly and easily accessible (fig. 1).

• The development team decided to forgo the conventional Windows gray-colored interface for a more colorful, but tasteful presentation.

• Function key navigation was employed for all control buttons (see F* notation on control buttons) to permit

key stroke navigation in addition to mouse clicks.

• Menu and tool bars were selectively hidden using setup options.

• Help files and the underlying ultrasonic equations used for the ultrasonic properties calculations are accessible via windows activated from the front panel control buttons.

For the purposes of this article, a simulation/model of the software architecture has been constructed. The basic

block diagram model employed for this application is shown in figure 2 and described below:

• The software architecture employed was a variation of the popular 'parallel while loop' concept (Johnson,

1997), By using this structure, two operations can execute concurrently. In this instance, continuous ultrasonic waveform acquisition occurs in the background (transparent to the user) within one while loop (the

'main' loop here), while other user-selectable subVI modules utilizing the waveforms are located in a second

running while loop. SubVI modules are dynamically loaded using the 'Call by Reference' method. Although

NASA/TM--2001-210683 2
onlyonesubVIisshownin this model block diagram, each subVI resides within its own case structure and is

dynamically loaded when the true case is activated.

• When the main VI is started, waveform acquisition begins immediately in the background and the waveforms

are placed in a queue. When the user enters the various subVIs that require the live waveform feed, the waveforms are removed from the queue. In order to minimize memory usage, the queue is set up to hold only 1

waveform element. The 'insert queue element' function is set to timeout after 200 millisec. The result of this

setup is that if the user is not in a subVI which removes waveform elements from the queue, the queue is continuously emptied via a flush function. The timeout condition with flush function is necessary to prevent inefficient memory use and lockup of the main while loop (which would not allow stopping of the program).

• An array global variable was tested as a queuing system for exchanging the waveforms between main caller

and the subVIs. However, the system seemed to run slower and choppier.

The OSCOPE subVI module is the heart of the ultrasonic measurement system and for the purposes of this article it has been updated to LabVIEW version 6i. Again, the front panel (fig. 3) has been designed for ease of use.

This module allows frequency-domain analysis of time-domain waveforrns and sends the frequency domain magnitude and phase outputs of the various echos (labeled B2, B 1, FS2, FS 1) in the waveform to the other modules for

calculation of ultrasonic material properties. These ultrasonic material properties include Reflection Coefficient,

Attenuation Coefficient, Cross-correlation Velocity, Phase velocity (Roth, 1995) and a number of other properties

based on time- and frequency-domain characteristics. The OSCOPE module has the following characteristics:

• It is logically divided up into controls and indicators using vertical text labeling and grouping of front panel

items.

• It has general and specific directions boxes in the front panel window that are highly visible to the user with

the specific directions changing as different echoes are chosen.

• Tip strips are used to describe controls and indicators and provide direction for the user.

• User-adjustable controls are color-coded in order to differentiate them from indicators.

• Shows windows for time and frequency domain analysis of waveforms. The upper time domain waveform

graph window shows the raw waveform and is voltage autoscaled. The lower time domain window shows a

running average of the time domain waveform acquisition. All controls in the OSCOPE module are applicable to the running average waveform and not the raw waveform. The number of averages are user-selectable

to any value in real-time, in both the time- and frequency-domains. (Signal-to-noise ratio is directly proportional to the square root of the number of averages). The time-domain running average technique is implemented via a modified circular buffer method (Johnson, 1997 and LabVIEW Developer Zone, 2000). AC

coupling removes the DC component from the running average reducing spectral spreading. For best frequency domain results, voltage level should be adjusted for each (B2, B 1, FS2, FS 1) echo as it is time gated

to obtain maximum height in the window without thresholding out.

• (The X-axis formatting of the graphs is in SI notation which shows 'u' for micro, 'n' for nano, etc. The

X-axes labels show [asec as these are the time scales normally encountered in this ultrasonics research.

This logic is also used in labeling the indicators to the lower right of the OSCOPE display window.)

• The use of real-time adjustable bubble cursors to define time windows for the individual echoes of the time

domain waveform. These echoes are analyzed in the frequency domain window showing magnitude and

phase. This frequency domain information is captured and stored for analysis of ultrasonic material properties

as previously mentioned.

• The choice of frequency-domain windowing methods.

• Stoppage of parallel loops from one control button (Johnson, 1997).

The block diagram of the OSCOPE module is shown in figure 4. Its characteristics include:

• Extensive use is made of control references so that property (formerly attribute) nodes of controls and indicators can be placed in subVIs. A property node new to LabVIEW version 6i, 'Value,' essentially eliminates the

need for local variables. Therefore even initializations and other value changes can be handled in subVIs

rather than on the block diagram where the control terminal is located. This results in a dramatic reduction in

block diagram size and as such, will facilitate keeping block diagram size to a single nonscrollable panel

(National Instruments, 2000).

NASA/TM--2001-210683 3
• SubVIs are used to handle initialization, the modified circular buffer implementation, waveform display, cursor information, echo display, and frequency domain processing. These are the main functions of the module

and by placing them in the block diagram, the user can get a general feel without having to go to lower levels

of the flow and processes of the code. Diagram size and interpretation remains manageable. The diagram

could have been reduced in size further (in terms of consolidation into more subVIs).

• LabVIEW version 6i 'waveform' functions are employed to build the waveform from the array and sampling

information.

• Values that need to be recycled and/or are needed for comparison in order to make decisions are stored in

shift registers attached to the while loop boundaries.

• Small 'wait' delays are placed in the while loops of the main diagram and in the while loop of the subVI

module so no monopolizing of CPU time by any one module occurs.

• The architecture employed here allows the use of any A/D converter suitable for the requirements of the

system.

Xray Spectral Mapping System For Characterizing The Quality And Uniformity of Photon Detector

Materials

Development of longer-life and higher performance photon detector materials are needed for future Space and

Earth science missions at NASA. These materials will be used to sense the different forms of radiation present in

Space and in the atmosphere (Parker, et al., 1999). The facility described here (and the one described in the next

section) should help in achieving these goals. The Xray Spectral Mapping system consists of two motorized manipulator stages wl_ch move a mounted phoion detector sampie relative t-o-a 200-kV-Xi'_iy tt/be (xray phoion source).

The stages are moved by a PC-based motion confi-_lI_-r_-oard iirderLab_ _iilSe_isi0n_ The stages move in the

lateral (X) and upward (Z) direction as the Xray_ tube bombards the photon detector sample under test with a collimated Xray beam at one spot (as small as 100 ffm) on the sample. A voltage gig/hii_S gerierated across the sample

related to the charge carrier lifetime and mobility of the sample at that X-Z scan location. The voltage signal is fed

into a preamplifier before entering the PC-based multichannel analyzer A/D card for conversion to an Xray spectra.

As a result of this process, an Xray spectra for each X-Z scan location is generated, and the uniformity of the sample

with regards to charge carrier lifetime and mobility is mapped. Hundreds of images can be obtained in each scan

since an image can be calculated at each channel.

The LabVIEW (version 5.1.1) software program developed for the system has the following characteristics:

• It utilizes a state machine architecture (Bitter, et al., 2001; Fowler, 1996; Gruggett 1995b; and Johnson, 1997)

to efficiently handle the various main tasks. This results in the user being led through a series of menus for

program options. Figure 5 shows the opening screen for the application.

• All instrumentation (multichannel analyzer A/D board, motion control system) is controlled via LabVIEW

drivers.

• The following are used extensively throughout this application: significant numbers of shift registers to recirculate information, attribute nodes to control display attributes, and local variables for initialization and for

operational control.

• Most of the subVIs corresponding to the main functions were dynamically loaded to reduce program footprint

size in memory. The disadvantage to dynamic loading is the increased difficulty in debugging source code

when all the functions are not in memory.

• Verbal (audio) directions can be enabled to help lead the user through the program. For this feature, .wav files

were recorded and are played back via LabVIEW subVIs.

• Since hazardous radiation is used during the testing, a login feature is present as a safety feature to limit the

users to only qualified and trained operators.

• Front panel control buttons are disabled at various times to guide the user through the proper program

operation.

• A large front panel indicator shows messages alerting the user top program status.

• All controls and indicators have a description; the user can select the 'show help' menu item and view all

descriptions during program operation. All subVIs in the block diagram have a description as well.

• The user has the option of displaying and analyzing data from the current scan, or from any previouslyobtained scan data set.

NASA/'rM--2001-210683 4
• Theadventof the tabbed menu interface in LabVIEW version 6i provides another user-friendly and popular

interface choice for developers. The tabbed menu interface allows a state machine format in a potentially

easier coding mode. This interface type was not used in this application since it was developed in LabVIEW

v5.1.1.

• Development in LabVIEW v6i would also have allowed extensive reduction in block diagram sizes via the

use of property nodes in separate subVIs. (A work of caution: check to make sure all software drivers are

compatible with new versions of LabVIEW before upgrading a developed application.)

Figure 6(a) shows the panel for a subVI module used to view and analyze the Xray scan data. This module is

quite powerful and has the following characteristics:

• The user has a choice of viewing one of three sets of images that were normalized/scaled in different fashions, all sets calculated after completion of scanning.

• An Xray spectrum (upper left plot window) is produced at each scan point which show photon counts versus

channel or bin number. The bin numbers represent different Xray wavelengths or energy levels). The user is

first asked to select a representative spectrum from one of the scan points. Thereafter, a scan image, or Xray

map, appears in the top center plot window. The Xray map shows the Xray photon counts as a function of

scan position at a particular bin number (with the bin number being that denoted by the cursor x location in

the upper left plot window).

• Moving the cursor from left to right over the chosen spectrum in the upper left window, the image will

change as a function of the bin number, and the user can cycle thru all the Xray maps in the data set.

• The Xray maps were computed from the spectra after the scan took place; all spectra and images were stored

in binary files. The images were scaled in three different formats based on the minimum and maximum photon counts value of the individual image, the whole image set, or a series of image sets. Depending on data

comparison objectives, the user can select which set of images to view.

• Just below these maps, a 3D surface visualization of the Xray map is shown. Transparency, plot style, and

_caling can be altered.

• Additionally, by moving the cursor located on the image map, the window at the top right will show the spectrum associated with that XZ scan location.

• All plot windows in the front panel of this subVI contain reduced versions of the LabVIEW palette and cursor

display for zooming and panning. (The unnecessary portions of the palette and cursor displays are covered

ith decorations the same color as the front panel to hide unnecessary functions.)

• The user has further options for changing image color scales, rebounding (contrast expanding or removing

oulliers) the image, and performing a channel averaging technique that reduces spectra noise and smoothes

the resulting spectra and bin images. These options are enabled via mouse-clicking on the buttons in the lower

left quadrant of the window. A collage of the overlying windows representing these options are shown in figurc 6(b).

• The user, upon exiting, is given options to save the displayed image or entire front panel to .bmp, .jpg, or .png

files. At this point, the user can also store the actual scan values (photon counts versus scan position) to a

spreadsheet file. The user is then returned to the main calling window after exiting the subVI module.

• The user can view a movie (both in intensity graph and 3D surface format) of the Xray maps as a function of

Xray bin number by selecting the control button on the main interface for this option.

Xray Life Testing System For Characterizing Degradation of Photon Detector Materials

The Xray Life Testing facility is used to measure performance over time for photon detector materials in various configurations/geometries (Parker, et al., 1999). The Life Test Facility consists of a maximum of 20 stations

(5 substations with 4 detector samples each), and has provisions for measurement of temperature, power voltage,

leakage current, and Xray spectrum for each station (although temperature measurement [thermocouple] and

power voltage hardware are in place for each substation only [set of 4 samples] rather than for each station). A

IEEE-488 (GPIB) controllable switching chassis system filled with multiplexing cards manages (under software

supervision) the significant number of measurements required. Each multiplexing card has many "channels" and

so can accomodate multiple measurements of a single type. The outputs of the measurements are then routed to

GPIB-controlled multimeters (temperature, power voltage, leakage current) and a pc-resident multichannel analyzer

NASA/TM--2001-210683 5
A/Dcard(Xrayspectrum). (Temperature (typeJthermocouple) andleakagecurrentareroutedtoonemultimeter

andpowervoltageisroutedtoanother). Whenthelifetestisstarted,radiationsources(Americium241isotope)

bombardthephotondetectorswithradiation, andavoltagesignalisgeneratedacrossthesamplerelatedtothe

sample'schargecarrierlifetimeandmobility.Theleakagecurrentmeasurement foreachsampleisassociatedwith

theappliedelectricfieldandiscalculatedfromthevoltagedropacrossaresistor.AseriesofXrayspectra(number

ofphotonsasafunctionofspectral wavelength) foreachsampleareobtainedafterprocessingbyamultichannel

analyzerA/Dcard.TheXrayspectrasarethenanalyzedforeightdifferentXrayparameters includingPeakCounts

Value,GrossCounts, andFullWidthHalfMax(%).AreferencetstpulseobtainedfromapulserisusedtodeterminewhetherXrayspectraorleakagecurrentchangesovertimearerealorareduetopreamplification changeswith

time.TheFullWidthHalfMaxofthetestpulseisrecordedalongwiththeotherXrayparameters toallowthedetermination. ThewholeprocessimanagedbytheLabVIEWsoftware. LabVIEWdriverswereavailableforallof

theinstrumentation. Featuresinclude:

• TheLabVIEW(v5.1.1)Xraylifetestsoftwarehasasimilarstatemachinetypearchitectureasdidthespectral

mappingsystem,andthefrontpanel(fig.7)isorganizedsimilarly.

• Control buttons are disabled at various times so as to guide the user through the proper program operation.

• Management and setup of all the measurements is accomplished via a large, user-editable table control in the

channel setup subVI module. An example with 16 measurements/channels is shown in figure 8. The table

information is in ASCII text format and is initially recalled from a spreadsheet file. The table control is used

to manage up to 80 different measurements in terms of (I) their associated parameters or characteristics (e.g.,

Xray integration time) and (2) their location within the hardware switching system. Since the information in

the table is in ASCII text format, the values of parameters needed for further processing are converted to their

numerical equivalent in the block diagram source code. At the bottom of the panel, a bitmap schematic is

provided of the layout of one of the cards used for leakage current measurement so the user is shown how the

physical connections on the card correspon d to t_e channe[numbers used for software control

• The heart of this application is the actual ilfe test subVI module. The llfe test can be setup to run for months.

For the Life Test, the user has a number of ch0ides regarding display modes for the actual life test. A dialog

pop-up box appears with the choices of:

o MAIN LIFE TEST WINDOW WITH NO CHARTING (fig. 9(a)): A significant number of parameters

related to the life test are monitored on this window. At any point in the test, directly from this panel, the

user can change Xray parameters such as integration time that were originally specified in the channel

setup window. The changes take place when the next cycle of measurements begins. No on-screen history

or trend charting of parameters is shown. Data in binary format is written to file.

o LIFE TEST WITH 'SMALL" CHARTS: The window in figure 9(a) is shown and small charts that plot the

various measurements/parameters are appended below the main panel (fig. 9(b)). The user employs the vertical scroll bar to get to this portion of the window. The charts utilized are the conventional LabVIEW

waveform charts. Any combination of channels/stations data/measurements to display can be chosen via

checkboxes (Gruggett, 1995a). Deselected channels are in fact still plotted but colored transparent. Whatever stations chosen will be applicable for all charts so that the checkbox control is global to all charts. The

moving chart window will show the most current 50 measurements according to measurement number.

Charts are updated after analysis of each cycle's data.

o LIFE TEST WITH CHART HISTORIES (TRENDING): The window in figure 9(a) is shown along with

individual pop-up chart history windows (fig. 9(c)). The chart history architecture is a modified, highly

flexible version of that presented by Johnson, 1997. Significantly more control is available for the chart histories as compared to the conventional LabVIEW waveform chart that was utilized in figure 9(b). The chart

histories show date and time on the x-axis; since the life test can go on for weeks or months, this scale is

more informative than just a numbered measurement. The number of points to display in each chart history

window is adjustable via the slider control near the top of each window; for the conventional waveform

chart, it must be fixed in advance. The user can also scroll back in time to see early measurements that are

not currently in the window when the number of points shown in the window is less than the total number

of samples stored for chart history. Once data has been collected beyond the number of samples to store for

chart history is obtained, the earliest data is flushed from the (circular) buffer (Johnson, 1997 and LabVIEWDeve]o]_er 7x3ne._000). Anyco-mbin_ion oiechannels (measurement)can" 6e_chosen via checkboxes

for each individual chart history window. The charting can be paused. A large 'chart' mode is available via

control button on each individual panel. The truly individual nature of each chart history was managed by

NASA/TM--2001-210683 6
makingbrothercopiesofamastercharthistoryVIinthesourcecodepriortoexecution. A moreelegant

andfeasiblesolutionwouldhavebeentodynamicallymakecopiesofthemasterchartduringprogramexecutionbasedonthenumberof propertieschosentochart.Charthistoriesareupdatedafteranalysisofeach

cycle'sdata.However, thecharthistoriescannotbescrolledwhileXraydataisbeingtakensincetheXray

controlinvolvesynchronous DynamicDataExchangecallsthatmonopolizeCPUtime.

• Dataoriginally stored in binary format can be converted to ASCII text format for storage in spreadsheet format via a main interface control button. The data can then be read by software programs such as Microsoft

Excel.

• A simulation mode is present to test new features off-line (without hardware attached) and to demonstrate

facility operation to visitors.

The New Cloud Absorption Radiometer

The aircraft-mounted Cloud Absorption Radiometer (CAR) instrument has been the most frequently used airborne instrument built in-house at NASA Goddard Space Flight Center. Since 1983, it has been used to gather data

for atmospheric studies over many sites in the United States, Azores, Brazil, and Kuwait (King, et al., 1986 and

King, 1992). The CAR instrument is capable of measuring light scattered by clouds in fourteen spectral bands in

ultraviolet, visible and near-infrared regions (total wavelength range of 0.340 to 2.3 p.m). CAR data has been the

basis for climate studies, remote sensing application development, and atmospheric condition assessment (e.g., after

disasters such as the Kuwaiti oil fires). The LabVIEW (v5.1.1) software interface for CAR (fig. 10) completely

replaces the prior data system and control panel with a compact and robust virtual instrument that performs control,

data acquisition, display, and data storage functions.

Some of the software features and operation details include:

• The CAR interface is logically divided into control buttons, status indicators, and data display functions.

• A full data cycle consisting of 10308 character bytes of data from two RS-422 serial ports is acquired,

decoded, analyzed, displayed, and stored every 600 msec. Typical mission experiments run for 2 to

4 hours resulting in 100-200 mb data sets. One serial port reads 10264 character bytes obtained from the

instrument controller. This is the instrument data. A second serial port obtains aircraft information such as

latitude, longitude, altitude, pitch and roll angles from a transmission every 100 msec by the University of

Washington. The aircraft data is needed to understand the state of the aircraft while the instrument obtains

its radiometric data. The two data streams are concatenated at the end of each data cycle, and correlated with

each other during post-flight analysis. Each cycle's data is written to file on hard disk for post-processing.

• Serial port writes are used to send commands to the controller module of the instrument. The commands written (when the user interacts with one of the control buttons on the CAR software interface) are converted to

analog voltages to control the various hardware functions such as mirror heating.

• Two main while loops controlling the serial communication are employed in the source code: one controlling

serial command writes and one controlling serial data reads. The while loops operate at different speeds

(delays). Communication between the two while loops is accomplished via local variables.

o The loop controlling serial command writes is in a wait state (polling occurs every 100 msec) until triggered by one of the commands (e.g., change of Dwell Setting).

o The loop controlling serial data reads checks for the predefined number of character bytes (representing a

whole data cycle's worth of information) to have arrived at the serial port before executing the remaining

decoding and display functions. If the predefined number of bytes has not arrived at the read serial port, the

loop waits until the next 5 msec multiple (plus 1 extra msec) before checking again. This architecture is

based on that shown for conventional serial communication function presented in Johnson, 1999.

• LabVIEW v2.5 VISA serial functions are employed seamlessly for serial port communication.

• Empirical demonstrations revealed that the MS Windows NT 4.0 operating system executed the LabVIEW

software significantly faster than MS Windows 98. Special LabVIEW routines are required to access the

parallel port when using the Windows NT operating system.

NASA/TM--2001-210683 7
• A command written to the computer parallel port from the software interface is used to start the instrument

via an isolated switching interface device on the instrument.

• Control button and indicator colors 'red' and 'green' are utilized consistently in the interface to indicate

inactive/off and active/on states. Controls are enabled and disabled based on user actions to guide the user

through virtual instrument operation. Function and nonfunction key navigation (with special LabVIEW keyboard utility for the latter) is employed for controls.

• Real-time plotting of data from any combination of user-selectable spectral channels/bands at any userselectable view angle (based on the tilt of the aircraft) is utilized.

• Lower CAR Data graph utilizes circular buffer technique (Johnson, 1997 and LabVIEW Developer Zone,

2000) to manage viewing of latest 100 cycles of data.

• The instrument has been software-enabled to work in an off-aircraft mode that allows calibration, testing, and

experimentation prior to the mission.

• A simulator mode is available that allows pre-testing of new features that might be added in the future. This

mode also permits development at times when the instrument/hardware is off-location, and demonstrations to

visitors interested in the CAR. The simulator mode uses no serial port hardware to operate; only global variables written to and read from.

• Preliminary data from the August 2000 CAR mission flown over S. Africa and utilizing the new CAR version

for the first time is publicly available at http://www.safari2000.org. Additional information for CAR projects

are available at htto://_ar,zsfc.nasa._ov. (These were the website addresses at time of publication.)

CONCLUSION

Thi, article provided an overview of several software control applications developed for NASA using LabVIE\V. The applications covered here included:

• an Ultrasonic Measurement System for nondestructive evaluation of advanced structural materials, an Xray

Spectral Mapping System for characterizing the quality and uniformity of developing photon detector

materials

• a Life Testing System for these same materials,

• and the instrument panel for an aircraft-mounted Cloud Absorption Radiometer that measures the light scattcrcd by clouds in multiple spectral bands.

Current applications _tten in LabVIEW v6i and later will make extensive use of custom run-time menu-based

and lab control-based interfaces in concert with state machines. The implementation of those applications will be

presented in future articles.

REFERENCES

Bitler. R., Mohiuddin, T., and Nawrocki, M., LabVIEW Advanced Programming Techniques, Chapter 3, "State

Machines," CRC Press, 2001.

Baroth, E. and Wells, G., Chapter 11, "Data Acquisition From Space via the Internet," LabVIEW Power Programming. edited by G. Johnson, McGraw-Hill, 1998.

Buchanan, R.K., Coleman, B., and Ludwig, L., "Interfacing LabVIEW With Instrumentation for Electronic Failure

Analysis and Beyond," Document ID: 19970006836 N (97N13729). File Series: NASA Technical Reports, 1996.

Fowler, Gregg, "Interactive Architectures Revisited," LabVIEW Technical Resource, Vol. 4, No. 2, 1996,

pp. 12-15.

Gruggett, Lynda, "A Fast Way to Add and Remove Plots from a Multiplot," LabVIEW Technical Resource, Vol. 3,

No. 4, 1995a, p. 13.

Gruggett, Lynda, "State Your Case!," LabVIEW Technical Resource, Vol. 3, No. 1, 1995b, pp. 12-14.

Huff, M.R., "A LabVIEW Based Wind Tunnel Data Acquisition System," Document ID: 19990008879 File Series:

NASA Technical Reports, Report Number: AD-A355656, 1998.

Johnson, Gary W., Labview Graphical Programming, 2nd Edition, McGraw-Hill, 1997, pp. 192-196, 201-205,

482-483,493--496.

NASAffM--2001-210683 8
Johnson, Rande,"RulestoWireBy(VIDevelopment Techniques)," LabVIEWTechnical Resource, Vol.7,No.2,

1999,p.4.

King,MichaelD.,Strange, MaxwellG.,Leone,P.,andBlaine,Lambdin, R.,MuItiwavelength ScanningRadiometer

forAirborneMeasurements ofScatteredRadiationwithinClouds, Journal ofAtmospheric andOceanicTechnology,Vol.3,No.3,September 1986,pp.513-522.

King,Michael D.,Directional andSpectral Reflectance oftheKuwaitOil-FireSmoke, Journal ofGeophysical Research, vol.97,no.D13,Sept.20,1992,pp.14,545-14,549.

Lhota,J.R.,"ModelingandSimulatingUltrasonicWavePropagationinLayeredStructures," Document ID:

19980202658 FileSeries:NASATechnical Reports, ReportNumber:AD-A341045TR-96(8565)-8 SMC-TR98-05,1998.

"LabVIEWStyleGuide,"Chapter 6,LabVIEWDeveI0pment Guidelines= National Instruments, July,2000.

National InstrumentsDeveloper Zone,"Retainingthe150MostRecent ValuesinanArray,"2000.

Parker,B.H.,Stahle,C.M.,Barthelmy, S.D.,Parsons, A.M.,Tueller,J.,VanSant,J.T.,Munoz,B,Snodgrass, S.J.,

andMullinax,R.E.,"CorrelationBetweenbulkmaterial defectsandspectroscopic responseincadmiumzinctelluridedetectors," HardX-ray,Gamma-Ray,ndNeutronDetectorPhysics, R.B.James, R.C.Schirato,

Volume3768,SPIE-theInternational SocietyforOpticalEngineering, Bellingham, WA,1999.

Roth,D.J.,etal.,"QuantitativeMappingofPoreFractionVariationsinSiliconNitrideUsinganUltrasonicContact

ScanMethod,"NASATM-3377andinVol.6,No.3,1995ResearchinNondestructive Evaluation. Alsosee:

http://LeTRS.lerc.nasa.gov/cgi-bin/LeTRS/browse.pl? 1993/TP-3377.html.

Wilson,T.M.,"Development ofaMulti-Channel IntegrationRoutineinLabVIEW"ReportNumber: AD-A331651

ERDEC-CR-237 Document ID:19980010903 FileSeries:NASATechnical Reports. 1997.

http://www.safari2000.org (website address at time of publication)

http://www.ni.com

http://car.gsfc.nasa.gg__y. (website address at time of publication)

NASAITM--2001-210683 9
a5

.9

O

r./3

_D

o

r._

,I=

,m,,,,4

NAS A/TM--2001-210683 10
i'xilil,_la

jlill|l

I',,

B

o

=

,_,--4

@r._

o

o

o

o

o

NASA/TM--2001-2 I0683 11
_J

©

NAS A/TM--200 i -210683 12
|

o

* _.,.i

O

©

o

r._

,4...a

. ._,,.4

NASA/TM--2001-210683 13
-X

B ........... _

0 +

-_ _ _o-X¢ _+.

3o

A

+++

P+

_+i

A

m

m

m

m

m

m

NASA/TM--2001-210683 14
I I I I _ '

¢)

0

Iu

u

¢}

._lll

NASA/TM--2001-210683 15
O •

r,.)

eb

O

.x=

NASA/TM--2001-210683 16
|

_J

O

..=

[-..,

• ,r,,_

t<

NASA/TM--2001-210683 17
!

4...a

E

E

r._

O

r._

tD

o6

NASAffM--2001-210683 18
[..

o,,.,,_

,,_..]

NASA/TM--2001-210683 19
0

0

0

0

.0

0

0

,J

°,_.(

0

._.-q

0

0

0

NASA/TM--2001-210683 20
+I II

= ft +_+-.__+t_,°," _ +"_-, ;!" _+_°-+-°+" il

_D

_z

r,.)

3:

[-.

G

C.r..

NASA/TM--2001-210683 21
NASA/TM--2001-210683 22

REPORT DOCUMENTATION PAGE FormApproved

OMBNO.0704-0188

Public reporting burden for this collection of information Is estimated to average I hoar per response, including the time for reviewing Instructions, searching existing data sources,

gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this

collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson

Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188), Washington, DC 20503.

1. AGENCY USE ONLY (Leave b/ank) 2. REPORT DATE

February 2001

4. TITLEAND SUBTITLE

LabVIEW Interface Concepts Used in NASA Scientific

Investigations and Virtual Instruments

s. AUTHOR(S)

Don J. Ruth, Bradford H. Parker, David A. Rapchun,

Hollis H. Jones, and Wei Cao

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

National Aeronautics and Space Administration

John H. Glenn Research Center at Lewis Field

Cleveland, Ohio 44135-3191

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES)

National Aeronautics and Space Administration

Washington, DC 20546-0001

3. REPORTTYPE AND DATES COVERED

Technical Memorandum

5, FUNDING NUMBERS

WU-708-31-13--00

8. PERFORMING ORGANIZATION

REPORT NUMBER

E-12610

10. SPONSORING/MONITORING

AGENCY REPORT NUMBER

NASA TM--2001-210683

11. SUPPLEMENTARY NOTES

Don J. Ruth, NASA Glenn Research Center; Bradford H. Parker and Hollis H. Jones, NASA Goddard Space Flight

Center, Greenbelt, Maryland 20771; David A. Rapchun, Global Science and Technology, Inc., Greenbelt, Maryland

20770; and Wei Cao, West Virginia University, Morgantown, West Virginia 26506. Responsible person, Don J. Ruth,

organization code 5920, 216-433-6017.

12a. DISTRIBUTION/AVAILABILITY STATEMENT 12b. DISTRIBUTION CODE

Unclassified - Unlimited

Subject Categories: 61,43, and 93 Distribution: Nonstandard

Available electronically at htm://=ltrs.crc,nasa._ov/GLTRS

This publication is available from the NASA Center for AeroSpace Information, 301--621-0390.

13. ABSTRACT (Max/mum 200 words)

This article provides an overview of several software control applications developed for NASA using LabVIEW. The

applications covered here include (1) an Ultrasonic Measurement System for nondestructive evaluation of advanced

structural materials, an Xray Spectral Mapping System for characterizing the quality and uniformity of developing

photon detector materials, (2) a Life Testing System for these same materials, (3) and the instrument panel for an aircraftmounted Cloud Absorption Radiometer that measures the light scattered by clouds in multiple spectral bands. Many of the

software interface concepts employed are explained. Panel layout and block diagram (code) strategies for each application

are described. In particular, some of the more unique features of the applications' interfaces and source code are highlighted. This article assumes that the reader has a beginner-to-intermediate understanding of LabVIEW methods.

14. SUBJECT TERMS

Software; Nondestructive evaluation; Atmospheric studies; Materials characterization

17. SECURITY CLASSIFICATION

OF REPORT

Unclassified

NSN 7540-01-280-5500

18. SECURITY CLASSIFICATION

OF THIS PAGE

Unclassified

19. SECURITY CLASSIFICATION

OF ABSTRACT

Unclassified

15. NUMBER OF PAGES

28

16. PRICE CODE

A03

20. LIMITATION OF ABSTRACT

Standard Form 298 (Rev. 2-89)

Prescribed by ANSI Std. Z39-18

298-102