Two months ago, the MTC wrote an article for EE evaluating data acquisition and analysis software.1 Space and time restrictions permitted us to evaluate only some of the available data acquisition and analysis tools. Other packages, saved for this review, are TestPoint 2.0 from Capital Equipment, IOtech’s DaqBook and software and Intelligent Instrumentation’s Visual Designer 3.0.
Most of these packages use visual programming. In test and measurement, visual programming currently provides four to 10 times more productivity than conventional text-based programming. Using these tools blurs the requirements, design and coding phases into a single activity, usually implemented interactively with the customer and developer together at the computer. For a detailed discussion of visual programming and why to use it, consult the references.2,3 An important development is that visual programming tools have transcended test and measurement applications and are now discussed in mainstream computer magazines.4,5
Capital Equipment’s TestPoint Version 2.0a
TestPoint 2.0a is an object-oriented code generator for data acquisition, analysis, display and control. It runs under Windows and requires a hardware key plugged into the computer’s parallel port. The package comes with a Techniques Reference manual, a Quick Start tutorial and a set of application notes.
We installed three 3 1/2-inch diskettes of software on a Pentium/120 computer running DOS 6.22 and Windows 3.10 in 386 Enhanced Mode with 16 megabytes of RAM, an SVGA video card using 1,152 x 864 resolution and 256 colors. The installation procedure was standard and easily done. Also installed were three diskettes of instrument libraries, containing drivers for most of the major instruments and I/O cards.
There was no on-line tutorial for learning the software, but the Quick Start manual was adequate as a starting point. TestPoint’s Help file was typical of Windows help files and we relied on it heavily for experimenting with functions. The use and purpose of the parameters of some commands, especially certain analysis commands, were not intuitively apparent. TestPoint’s on-line help is rather brief, making the Technical Reference Manual Helps
To develop an application using TestPoint, objects representing displays, graphs, switches, GPIB devices, A/D boards, math functions and disk files from a Stock Window are selected and placed on a panel. Order is not important since the operations of the objects are event-driven. The objects are then dragged to an action list and an action, such as setup, trigger or read value, is chosen from a popup menu.
When an action is selected, TestPoint inserts a command line of parameter blanks to be filled in with values or variable names. The command lines are easily readable and understandable, consisting of descriptive words and phrases. These command lines replace the BASIC or C language statements normally used in object-oriented programming. TestPoint automatically generates the computer code from these command lines.
Each object can have its own action list. A push button, for example, can have an action list that is executed each time it is pushed. Other action lists can be performed every time a switch is changed, a slider is moved or an input value is retyped. This is typical of event-driven, object-oriented programming, and allows the application to perform multitasking operations. TestPoint changes from program edit to run mode and back by clicking a menu bar item.
The number of available objects and their actions is impressive. There are 35 Stock Window objects available. The user-defined object allows TestPoint to combine objects and action lists into a single object, making complex applications easier to understand, manage and maintain. The VBX object makes all the Visual BASIC eXtensions available for plug and play.
Also included are objects for Object Linking and Embedding (OLE) and for Dynamic Data Exchange (DDE). The analysis object contains the usual data analysis functions, including FFT, inverse FFT, digital filtering, waveform smoothing, curve fitting, interpolation, calculus, statistics, trigonometric and logarithmic functions, vector and array math, and waveform generation. There are also objects that support IEEE 488, RS-232 and RS-485 devices, perform PID (proportional, integral, differential) control, and control file I/O.
Documentation and Support
The documentation is complete, with easily read large type, many examples and pictures of panels. It is well-written, easy to understand and contains few errors. Additional application notes, product information and technical support are available on Internet at http://www.cec488.com. A demonstration version of TestPoint can be obtained via the Internet.
To assess the technical support response time, we sent a simple problem (for which the answer had been readily found in the User’s Guide) by e-mail to [email protected] at 6:04 a.m. The reply was received at 9:06 a.m. the same day. Not only was the quick response surprising, but so was the usefulness of the reply. Each line of the original e-mail had a comment such as “there is no problem here” or “this is okay, but you could have used”. The last line of the message was “here is your problem, you should have had …, see the Reference Manual on page … for more information—if you need more help, e-mail me at …”. Also, the user wasn’t chastised for using on-line technical support instead of the manuals.
The only shortcoming we found was the requirement of a hardware key. This would preclude serious consideration of this product by MTC and our Instrument Loan Pool. Hardware keys cause too many problems for large establishments that use many copies of programs from many different companies. Plugging four or five keys into a computer’s parallel port, even if all the keys are compatible, is just not feasible. Today, with acquisition systems being shuttled from test site to test site and laboratory to laboratory, the added complication of matching keys to software is ill-advised.
Summary
TestPoint is both easy to learn and a powerful tool for data acquisition and analysis. After a modest amount of instruction, one can quickly and easily develop moderately complicated applications that allow for user intervention and input during the run-time operation.
IOtech DaqBook Hardware and Associated Software
In the crowded 10-V, 100-kHz, 12- to 16-bit data acquisition market, IOtech has a system entry that is warrants consideration. The unit we evaluated, DaqBook/216, was designed for use under a laptop computer that is Intel-compatible. IOtech even supplies Velcro fasteners to keep it from sliding around.
DaqBook/216 is a well-built metal box about the size of a thin laptop. It contains the A/D converter and associated circuitry, a 16-channel input multiplexer, two 12-bit analog outputs and an expansion slot. Also supplied was a signal conditioning card for thermocouples, DBK19. The power supply is a conventional plug-in brick. Alternately, +7 to +20 VDC can be supplied by any convenient means for battery-powered operations.
The IOtech Daq line is a well-thought-out set of I/O cards, signal conditioning cards, an expandable family of card cages, and software. It goes directly to the heart of the problem: “Get some measurements for me NOW!”
Easily configurable with signal conditioning cards, the basic A/D engine system operates on a fixed 100-kHz clock. You specify which multiplexed signal will be converted in which time slot and you need only specify the number of slots for which you wish measurements; for instance, five inputs, five slots. In this way, the skew between measurements is always predictable and constant. For jobs larger than a single card’s worth of input/output (the count depends on the card), expansion racks are available.
System Card Enclosures
The basic notebook has an A/D card and a slot for a single signal-conditioning/expansion card. The notebook-sized system supports any of the cards offered. Additional notebook-sized two- and three-card enclosures can be daisy-chained to accommodate more inputs. You can logically stack and interconnect facilities for up to 256 measurements—far more of these boxes than you can easily keep together mechanically.
When the limits of your trust in Velcro, C-clamps and duct tape have been reached, there are several options. You can still use your DaqBook A/D engine and put the additional cards in a more conventional card cage where they are held vertically rather than horizontally, as in the DaqBook. You can also get an A/D card for the larger cage and free up the DaqBook for other tasks. These card cages can also be daisy-chained to support even more expansion.
A complete line of about 20 different cards and accessories for signal conditioning is offered. There are no RF elements, but just about everything that can be reasonably handled with conventional printed wiring board layout is there. It includes strain gauges, sample and hold functions, attenuators, low pass filters and power supplies. In addition, there is an accessory that accommodates IOtech 5B signal conditioning modules.
Software
IOtech has done an excellent job of providing something for everyone. If you use C, C++ or Visual Basic, all the subroutines you need are there. Also available for downloading from the IOtech bulletin board are drivers for LabVIEW. If you dislike programming, there is a Windows 3.1 program, DaqView 4.1, to make your data acquisition much easier. A simple user interface enables most simple data acquisition tasks without programming. You can configure, name, convert and store data from a single user screen. There is a program for calibration and another for testing the printer port.
IOtech also supplies a simple analysis tool. It provides convenient access to the data, much like a 16-channel analog storage oscilloscope where you can select display modes. Most engineers will want something more for analysis, perhaps a spreadsheet with graphing.
To enable easy data transfer, you can get your data in multiple formats. During acquisition, data is stored in binary format. After you complete data acquisition, any additional formats you request are produced from the binary format. This approach allows you to use the IOtech tools for a quick look and then do a more detailed analysis later.
Documentation
Most of us have worked with test equipment which had impressive-looking documentation, but no one could figure out how to use it. The computer age has not helped. IOtech, however, has worked hard to tell all. In fact, they explain everything, even things you don’t need. Apparently, there is just one set of documentation for the whole product line, so every product is described, even ones you don’t have. This is not a big problem: they use 5.5″ x 8.5″ three-ring binders, and you can usually remove what you don’t want. A special note on the software documentation: They have really worked on this. There are a few quibbles (the body of an IF statement is sometimes not indented), but they did quite well.
Usability
As always, there are a few small glitches. Using the printer port is an attractive idea, but our short experience shows it is not always that simple. A useful addendum would be a hardware list that notes successes, failures and work-arounds. We found a bug in the software: When you use the browse button to change the path (having specified a file name on the front panel), pushing the OK button appears to do nothing. It does change the path, it just doesn’t tell you it has done it. Push Cancel to take you back to the main panel.
Intelligent Instrumentation’s Visual Designer 3.0
Firmly positioned among the leading graphical programming packages designed for instrumentation support is a product from Intelligent Instrumentation called Visual Designer. We reviewed their newest release, Version 3.0, which brings significant enhancements to their previous offering. So significant are these improvements, in fact, that the product can now safely be termed a graphical software development environment for instrumentation applications.
These features make Visual Designer an obvious choice for those already invested in or considering the use of Intelligent Instrumentation’s line of portable or plug-in PC data acquisition hardware. For those committed to other instrumentation cards or GPIB solutions, Visual Designer may still make sense as a software development environment, controller interface, or analysis and display station.
Application-Building Using Visual Designer
We reviewed Visual Designer 3.0 using a PCI-20428W series multifunction board and a hardware evaluation kit provided by the manufacturer. Installing the hardware in a Pentium PC with a PCI/EISA bus was a straightforward task, followed by a quick replacement of Windows’ virtual DMA driver with one required to drive Intelligent Instrumentation’s board products. After a trouble-free installation from six floppy disks, building programs and playing with the switches and gadgets on the evaluation board could begin.
As a software language, Visual Designer is based on the data-flow diagram (DFD) paradigm. Structurally, it is divided into two executable applications: DIAGRAM and RUN. After drawing the application in DIAGRAM in the form of a FlowGram, the user compiles the code into FlowCode for execution as a parameter of RUN. A parameter file common to both, and a set of Dynamic Link Libraries (DLLs), complete the set of files required to develop and execute applications generated by Visual Designer.
FlowGrams are created in DIAGRAM in the form of iconic blocks that process and pass along data. Execution is enabled when all inputs have been received. Output then flows along wires tipped with arrowheads to indicate the direction of data flow.
To build applications, select blocks from pull-down or pop-up menus, then configure block parameters through a sequence of hierarchical dialog boxes. Wiring from block to block presents an additional dialog box to specify connection points.
Graphical Programming Elements
Visual Designer comes with a large set of useful input and output widgets. Along with the expected array of meters, charts, bar graphs and bitmap displays, Visual Designer also provides support for audio (WAV file) and video (AVI file) outputs. Input capabilities include text, numerics, sliders, switches and dialog boxes.
Control blocks include only case-select and do-while loops, a sufficient—if minimum—set. The case structure is unusual in allowing selection based on text strings or floats. A feedback block enables implementation of feedback loop structures. Subgram blocks allow a group of blocks to be collapsed into a single icon, much like a subroutine. Subgrams can be nested inside other subgrams, with the capability of passing parameters for up to 16 inputs and 16 outputs.
Visual Designer includes a standard set of math, DSP, logic, string, file I/O and timing structures. The math group includes a general-purpose equation evaluation block, which turns out to be the only means of accessing many of the less-used mathematical functions, such as trig functions.
Signal generation and analysis blocks provide a basic set of software-generated test signal source blocks, and include histogram, RMS, mean, peak and sorting blocks. DSP capabilities include FFT (but no inverse FFT), correlation, filtering and power spectrum. A PID block is also included for use in closed-loop control applications.
Extensive Capabilities
Visual Designer provides a number of sophisticated and powerful capabilities. Among them are DDE in either client or server roles, and the ability to launch other applications. In this way, a FlowGram can function as a sophisticated test executive, calling and passing data back and forth to other FlowGrams, even calling Windows and DOS applications. FlowGram activity can also trigger printing, pausing and execution halting. FlowCode modules can be set to begin execution upon loading and to close their windows when execution completes.
In addition to built-in block functionality, Visual Designer enables the developer to augment the language through a custom block toolkit. The toolkit is used to create DLLs that are added to an existing or newly created folder corresponding to the items on the block menu. The DLLs created with this toolkit show up as new custom blocks that can be added to a diagram and wired to provide compiled math functions, hardware support (plug-in DAQ, DSP or RISC chip) or custom user interface elements. The toolkit supports code produced by Borland C++, Microsoft Visual C++ and Symantec C++ compilers. A separate digital filter toolkit is also available.
Run-time distribution of Visual Designer applications is handled in part through the two-application structure. You can distribute applications without the FlowGram module, preventing all access to the diagram code. The original license agreement allows developers to include a copy of the RUN.EXE application, the library DLLs and HLP files as part of a software distribution set.
This may be done freely if the application is for use with Intelligent Instrumentation hardware; otherwise, a distribution license may be purchased. A run-time-only product is available separately, primarily for in-house distribution of test suites. Double-clickable Windows applications can be created by copying the RUN.EXE program item and then specifying the FlowCode file name in the command line as an execution parameter.
To help the developer determine which library DLLs must be included with an application’s distribution (it is rarely necessary to include them all), a utility function is provided to generate a list of referenced DLLs. A cross-reference to HLP files allows the inclusion of a minimum set of context-sensitive help files as well.
Visual Designer will run on a 386DX computer with 6 MB of memory and VGA graphics, but a 486 or better with 8 MB of RAM and a graphics accelerator card is strongly recommended. At least 12 MB of hard drive space is required. Visual Designer will run under Windows 3.1, 3.11 for Workgroups and Windows 95. We couldn’t determine from the documentation if Windows NT is supported.
Support
Visual Designer fully supports the entire line of Intelligent Instrumentation plug-in multifunction and high-speed data acquisition cards. This includes analog I/O, digital I/O, counter, burst generator, rate generator, period measurement and thermocouple capabilities. Streaming and DMA I/O are both supported.
To support other manufacturers’ boards, you can obtain a driver from the board maker, create a compiled driver in the form of a DLL or create a driver within Visual Designer itself. Memory-mapped and I/O-mapped device access is provided through a set of blocks.
Parallel port and PCMCIA instrumentation cards are also supported. Visual Designer provides Intelligent Instrumentation’s line of DASport products with a separate menu of DASport blocks. GPIB and serial devices are fully supported under another menu. Driver support for a handful of common GPIB boards is built in, as is serial support on all COM ports from 110 to 115,200 bits per second over RS-232, RS-422 or RS-485.
No direct support is provided for VXI, but this could be readily done using the GPIB and serial blocks and encapsulated into subgrams for use as library elements.
Strengths and Weaknesses
Visual Designer creates compiled code from its diagrams, so programs execute quickly. It has a feature distinctly lacking in some of its high-powered competitors: an undo/redo capability, with up to 200 levels of undo/redo. A block finder feature allows a developer to locate a library block by initiating a search through the block menu items based on flexible search criteria.
Visual Designer provides attractive display widgets with extensive control over attributes. Diagram blocks employ easily understood, familiar-looking icons. A large number of controllable parameters are managed by navigating through a well-structured hierarchy of dialog boxes. Visual Designer’s DFD leads to speedy implementation of applications and configuration of blocks.
There are a few weaknesses in Visual Designer. One of the more noticeable is when diagrams become cluttered with block icons: Wires easily become a tangled mess. You can mitigate this somewhat by using link blocks and orthogonal wiring options. (Link blocks are wiring tabs that jump a signal across a page to a companion tab near distant blocks.)
Another drawback is the significant context switch the developer must mentally go through to move between viewing a block’s parameters and its I/O signal connections. One is accessed by opening the block’s parameter dialog box; the other by clicking a connecting wire to get a dialog box listing all the potential endpoints for the wire. It would be nice to see internal parameters and wired-in parameters in one view or in logically joined views.
Another disadvantage is the inability to change a wired parameter name from something like P5 to a more meaningful label. This makes function blocks more difficult to document and interpret. Finally, providing more precise control over the placement and sizing of panel widgets could definitely benefit Visual Designer’s RUN module. FlowGrams can be controlled by a snap grid; why not panel items as well?
Summary
Visual Designer is an excellent implementation of a graphical programming environment. It is powerful, flexible, quick to learn and easy to use. It provides an excellent array of reusable example diagrams, many of which are useful. It is complemented by top-notch documentation and good context-sensitive on-line help. In short, Visual Designer goes head to head with the best in this industry.
Some other tools used for data acquisition include National Instruments’ LabWindows/CVI and ComponentWorks, VisuaLab from IOtech, and LabTech Notebook from Laboratory Technologies. LabWindows/CVI allows development in C, BASIC or PASCAL and can incorporate standard libraries or Windows DLLs. ComponentWorks links to Visual Basic, as does VisuaLab. LabTech Notebook uses no programming language, only drop-down menus and dialog boxes.
Conclusions and Recommendations
Table 1 compares the software packages we evaluated.
In choosing a software tool for data simulation, acquisition, analysis, display, control and visualization, consider the individual components—the platform, hardware, software, sensors, signal conditioning and interfaces—as part of the system. All too often, platform, hardware (including interface cards) and software are chosen independently and simply expected to work together. Choose components that you know beforehand will work together, especially software and interface cards. This includes VXI and GPIB instruments, for which many drivers for the tested software are now available.
It is important to size the task correctly. The table gives recommendations for comparing the tool to the task. IOtech is best suited for simpler tasks. TestPoint’s object-oriented and Visual Designer’s visual programming environments are appropriate for moderately complicated applications that require user intervention or an event-driven approach. Visual Designer is a general-purpose programming language, not an application program. There is a serious learning curve for all three products. IOtech has a much shorter learning curve, but also has less capability than those using a visual language. If you are happy with BASIC, C or C++, you may wish to take advantage of the IOtech libraries.
All tools reviewed work on the PC platform. Don’t choose the package by price. The cost of application development will greatly exceed any difference in hardware or software costs.
Here are other questions to answer before choosing a software tool:
Do you have legacy code you want to keep? If so, you need a tool that lets you interface with existing code.
Do you need to connect to GPIB/serial/VXI instruments or interface cards? Do drivers exist for the tool you’re interested in? If not, does the tool allow driver writing?
Do you need to make custom graphical user interfaces? Make sure the tool allows that.
Does a hardware key pose a problem?
Is the system likely to remain static after it is finished or continue to evolve? Consider specific vs general capability.
All the tools will let you acquire, analyze and store data better, faster and cheaper than before.
References
1. Baroth, E., Brunzie, T., Hartsough, C., McGregor, J., Walsh, A., and Wells, G., “An Update on Visual Programming Data Acquisition Software Tools,” EE–Evaluation Engineering, February 1996, pp. S-26- S36.
2. Baroth, E., Hartsough, C., Johnsen, L., McGregor, J., Powell-Meeks, M., Walsh, A., Wells, G., Chazanoff, S., and Brunzie, T., “A Survey of Data Acquisition and Analysis Software Tools, Part 1,” EE-Evaluation Engineering, October 1993, pp. 54-66, and “Part 2,” November 1993, pp. 128-140.
3. Baroth, E., and Hartsough, C., “Experience Report: Visual Programming in the Real World,” Visual Object Oriented Programming, edited by M. M. Burnett, A. Goldberg & T. G. Lewis, Manning Publications, Prentice Hall, 1995, pp. 21-42.
4. Gould, L., “Desktop Testing… a World of Options,” Software Solutions,
November/December 1995, pp. 33-42.
5. Clarkson, M., “Tools on the Fly: Virtual Instruments Take Off,” Desktop Engineering, September/October 1995, pp. 20-28.
About the Author
Edmund C. Baroth, Ph.D., conceived, developed and is the Technical Manager of the Measurement Technology Center, part of the Measurement, Test and Engineering Support Section of the Jet Propulsion Laboratory. He holds a bachelor’s degree in mechanical engineering from City College of New York, and master’s and doctorate degrees in mechanical engineering from University of California, Berkeley. Dr. Baroth has received five NASA Certificates of Recognition and a NASA Group Achievement Award, has produced two patents and has one pending, and has been a faculty member at California State University. Jet Propulsion Laboratory, 4800 Oak Grove Dr., Mailstop 125-177, Pasadena, CA 91109, (818) 354-8339, e-mail: [email protected]
Package
IOtech Support Library
IOtech Tool
TestPoint
Visual Designer
Type of tool
BASIC,
C,
C++,
LabVIEW
Stand-alone tool
Objects and Action list
Visual language
Ease of use: Simple task1
Not recommended
Best
Better
Better
Ease of use: Complex task2
Good
Not recommended
Good
Good
Allows decisions by data or user?
Y
N
Y
Y
Allows driver development?
Function of host language
Not Applicable
Y
Y
3rd party support3
Function of host language
N
HIGH
LOW
Links with other software?
Y
N
Y
Y
Can customize user interface?
Function of host language
N
Some
Y
Cross platform capability?
N
N
N
N
Hardware key?
N
N
Y
N
Fun to use?
Function of host language
Y
N
Y
1 Example: Direct data acquisition, simple/no control, simple displays, logging of data.
2 Example: Complex control logic, data analysis on-the-fly, dynamic configuration, large number of components (icons, instruments or timing).
3 Includes support for other manufacturers’ products and third-party use of the tool.
Software Tools Revisited
Whenever you undertake an ambitious task like comparing software, important information can be overlooked. Such was the case when we evaluated three software tools, HEM Data’s Snap-Master™, National Instruments’ LabVIEW® and Hewlett-Packard’s VEE, in the February 1996 issue of EE.
The article “An Update on Visual Programming Data Acquisition Software Tools” was written by Ed Baroth and several co-authors at the Jet Propulsion Laboratory. Unfortunately for the evaluation, HEM Data sent JPL the drivers to support only two of the 15 data acquisition boards from other vendors. As a result, the evaluators assumed those were the only two available.
To correct the record, Snap-Master drivers are available for data acquisition boards from ADAC, Advantech, Analog Devices, Analogic, Axiom, Computer Boards, CyberResearch, Fluke, I/Otech, Keithley/MetraByte, National Instruments, RC Electronics, Syminex, UEI and Validyne.
Furthermore, not only does Snap-Master support its own data analysis packages (Waveform Analyzer and Frequency Analyzer), but it also exports data to other analysis packages through simple cut-and-paste Dynamic Data Exchange. A table on page S-22 stated otherwise.
The authors, as well as the editors of EE, regret any confusion created by the omissions.
Sidebar
Software Tools Revisited
Whenever you undertake an ambitious task like comparing software tools, important information can be overlooked. Such was the case when we evaluated three software tools, HEM Data’s Snap-Master™, National Instruments’ LabVIEW® and Hewlett-Packard’s VEE, which appeared in the February 1996 issue of EE.
The article “An Update on Visual Programming Data Acquisition Software Tools” was written by Ed Baroth and several co-authors at the Jet Propulsion Laboratory. Unfortunately, HEM Data only sent JPL the drivers to support two of the 15 data acquisition boards from other vendors. As a result, the evaluators assumed those were the only two available.
To correct the record, Snap-Master drivers are available for data acquisition boards from ADAC, Advantech, Analog Devices, Analogic, Axiom, Computer Boards, CyberResearch, Fluke, I/Otech, Keithley/MetraByte, National Instruments, RC Electronics, Syminex, UEI and Validyne. Not only does Snap-Master support its own data analysis packages (Waveform Analyzer and Frequency Analyzer), but it also exports data to other analysis packages through simple cut-and-paste Dynamic Data Exchange. A table on page S-22 stated otherwise.
The authors, as well as the editors of EE, regret any confusion created by the omissions.
Copyright 1996 Nelson Publishing Inc.
April 1996
|
Other Packages