March/April 2012
Channel Chat

Extending life of legacy data acquisition & control system at NASA

By Tim Carroll

The Johnson Space Center in Houston, Tex., has several chambers for testing items under a vacuum condition with very low and high temperatures, simulating the environment in space. Items tested include everything from an astronaut's glove or helmet to complete suits or landing crafts. Pumping down a chamber large enough for a lunar landing craft is very expensive. Because of the cost, NASA wanted a high channel count data acquisition and control system to capture as much data and perform as much testing as possible during the test. These systems, using Neff Instruments hardware, were deployed decades ago on DEC Alpha systems.

NASA wanted to extend the life of its older capital equipment while moving to more modern software tools for data processing and analysis. Unfortunately, the existing hardware had a very low level, register-based interface established over a Small Computer System Interface (SCSI) connection.

Optimation developed an OPC server to interface the Neff Instruments hardware to expose measurement and control channels on the legacy Neff acquisition system to comply with the OPC Data Access Custom Interface Standard version 2.04. Optimation also provided support for Neff 500 data acquisition units in local and remote mode, as well as 500 expansion boxes. Device support included 400 and 600 systems, plus several function cards.

Communication was achieved through a custom ActiveX DLL, using software Neff developed to communicate with the controller through the Windows ASPI layer. The Neff software provides message sending and receiving through the SCSI controller card and some predefined, low-level Neff commands.

The OPC server uses a preconfigured database to determine what types of Neff 500 boxes are attached to the system, the associated devices, and their settings. The database is configured separately with a Microsoft Foundation Class application known as the Neff OPC Configurator. This serves as a database interface and provides a way to configure the Neff system parameters. Only the added and configured channels are available through the OPC server. Multiple database files may be created for different test configurations. The configuration tool can set which database files represent the active configuration or the one the server will use.  

Although the ActiveX DLL (Dynamic Link Library) can be used directly for acquisition and control, the intended use is to access the Neff hardware through the OPC server. The OPC server relies on the database configuration to inform the ActiveX DLL of the attached hardware and the associated parameters. The ActiveX DLL uses this information when building the scan list and sending output commands. All measurement data items have an associated time stamp that can be retrieved from the OPC tag. The ActiveX DLL will update data from the hardware every 100 milliseconds, unless the client changes the update rate.

Because one goal of OPC is to provide an abstraction layer between application software and hardware, some tasks do not fit well in the OPC model. These tasks are typically very hardware specific. For the Neff systems, independent software was developed to handle calibration of the 600 systems. The calibration software can read calibration memory and save it to file, write to calibration memory from a file, perform the actual calibration, and save a bad channel list to file. The user interface provides controls for all parameters that need to be configured to perform the calibration.

With the custom OPC server in place, the existing capital equipment's useful life was extended, and thousands of data and control lines were made available to any OPC compatible client. This significantly delayed the need to spend hundreds of thousands of dollars to replace the old, yet still accurate and useful, equipment.


Tim Carroll ( is a senior systems integrator at Optimation, a certified member of the Control System Integrators Association.