|
|||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
|
|
An Engineer's Checklist: A Roundup of Measurement Programming Software
Nowadays, test approaches often encompass several software layers. These must work together to obtain the measurements required for validation. Here's a high-level overview of some common applications, programming environments, and driver software necessary for test instrumentation, with a look at the connection between design/modeling software in the virtual world, and validation in the physical world. By Hob Wubbena, Senior Software Planner, Agilent Technologies, Loveland, Colo. With increasing pressure to get products designed, manufactured, and shipped quickly these days, you need to depend a lot on software to achieve rapid time-to-market. Most engineers are fairly familiar with their design software, since they will use it intensely for several weeks on a particular design project (although often many months might pass before they use the software again). Designing components, boards, and actual products, however, is only part of an engineer's job; the other part involves verifying and validating designs in preparation for production. The connection between design/modeling software in the virtual world, and the validation in the physical world, requires the less-used test software. Test approaches encompass several software layers that must all work together to obtain the measurements required for validation. Let's examine what's needed a bit more closely.
Common
Application Software In research and development (R&D) measurement applications typically analyze and visualize the data collected. This data analysis results in design verification or prototype characterization. Microsoft Excel is typically used at the low end of the spectrum, and The MathWorks' MATLAB is a package that's often used at the high end. MATLAB's functions are designed for technical applications, and can easily handle large data manipulation. MATLAB also has the advantage of linking to The MathWorks' simulation package called Simulink. In manufacturing, the data collected results from tests run on a device under test (DUT) to determine whether the product passes and may be shipped. This category of software is often referred to as a test executive, and includes capabilities such as test creation and editing, sequencing, database features, and a user interface for production workers. Two popular test executives are Agilent's Test Exec SL and National Instruments' TestStand. The former is a customizable test executive developed specifically for electronics manufacturing functional test applications across multiple industries. It comes with a customizable operator interface, open architecture for multiple instrument integration, test sequencing, debugging tools, and provisions for line integration in most manufacturing test environments. Test Exec SL can adapt to line automation, interface to various databases and SQC (Statistical Quality Control) applications. It also supports self-test. It's compatible with Agilent VEE, National Instruments (NI) LabView and LabWindows/CVI, as well as BASIC for Windows, Visual BASIC (VB), and Visual C++. The development environment is priced at about $3,000, with runtime/deployment copies at $550. Similarly, NI's TestStand can automate a wide variety of test systems. It's a ready-to-run test executive that organizes, controls, and executes an automated prototype, validation, or production test system. TestStand is completely customizable, so it can be modified and enhanced to match specific needs. It can also execute test code compiled as a DLL (dynamic link library), ActiveX Server, or Windows-executable, and can easily support multiple test programming environments and existing legacy code. TestStand users can generate code and perform debugging, including stepping into test programs, directly from TestStand. The package is also compatible with LabView, LabWindows/CVI, VB, and Visual C++. One development copy of TestStand is about $3,000, with deployment or runtime versions costing from about $500 to $1,500 each. Programming
Environments Let's look at programming environments. They fall into several different categories. There are general-purpose environments such as VB and languages specifically targeted at measurement programming such as NI's LabWindows/CVI. Within the measurement-specific programming arena, there are graphical programming environments such as NI's LabView and Agilent VEE, and textual programming environments such as HT BASIC. You can base your selection on your level of comfort with a particular programming environment, the power of the language, and often, adherence to company-wide mandates. General
Programming Languages Although most engineers use several software packages, by far the most used software for programming measurement applications is Microsoft's Visual Studio. It contains general programming languages such as Microsoft's VB and Visual C++ (according to Microsoft, Visual J++ will not be part of the next Visual Studio release however). VB 6.0 is the easiest way to take advantage of the application-specific power of Word, Excel, Access, and Internet Explorer. Prices on Visual Studio 6.0 typically range from $550 to about $1,600 for the professional or the enterprise editions of either individual languages (such as VB) or the entire studio. The Ubiquitous
Component Object Model Another programming language is Microsoft's COM (Component Object Model). COM is a computer standard that specifies the mechanism for defining binary components for interaction in order to access services provided by libraries, operating systems (OS), and remote or local applications. ActiveX is a Microsoft specification (and accompanying technology) that provides a standard method for encapsulating COM-compliant software modules so that they can be used within standard PC platform applications. These ActiveX controls can be used in any ActiveX-compliant container application, regardless of where they were created. For example, you can create objects using VB, VC++, or Delphi, with all working well in a container application. Common ActiveX containers include languages such as VB or Visual C++, and applications such as Microsoft Excel. Measurement
ActiveX Controls There's another category that includes dozens of products. It's data acquisition-specific ActiveX controls that fit Microsoft's COM model. Examples include DTx-EZ by Data Translation, NI's ComponentsWorks, Keithley's VTX, and Softwire (formerly part of ComputerBoards). There's a wide range of quality and usefulness in these packages. Some provide general functionality separate from their hardware, while others don't work in the latest version of VB (6.0). Some can be run from VB or C++, but others provide their own container application--and only work when using the vendor's hardware. Functions vary from data acquisition and GPIB (IEEE-488) and RS-232 connections to high-speed graphing. Prices of these packages range from about $150 at the low end to about $1,500. Measurement
Textual Languages Let's turn our attention to measurement textual languages. Specific textual data acquisition-oriented programming languages such as Transera's HT BASIC and NI's LabWindows/CVI provide built-in functionality needed for data acquisition. HT BASIC is a powerful textual scientific/engineering language that combines the ease-of-use of BASIC, the math capabilities of FORTRAN, and the structured programming of Pascal and C. It supports GPIB, RS-232 and data acquisition boards. HT BASIC costs about $1,000 for the development environment, with unit prices on runtime versions priced at $200 to $300 (depending on volume). Various utilities go for about $200 to $450. NI's LabWindows/CVI is an interactive ANSI C programming environment that's typically used for building instrument applications. It has a drag-and-drop editor for building user interfaces, a C environment for building test program logic, a collection of code generation tools, and various measurement utilities. LabWindows/CVI instrumentation libraries can be used within C, or you can incorporate C code into a LabWindows/CVI program. The LabWindows/CVI development environment costs from about $1,000 to $2,000; various add-on measurement libraries range from $300 to about $2,600. Graphical
Languages Examples of measurement-specific graphical programming languages, or GPLs, for data acquisition include NI's LabView, Agilent VEE, and Keithley TestPoint. These claim higher productivity rates than general programming languages for test, measurement, and data acquisition applications. These productivity levels are typically a result of graphical programming, and "wiring" objects together in a dataflow paradigm, combined with data acquisition-specific functions. Keithley's TestPoint uses objects from a toolbox, where each object has properties, similar to VB's approach. TestPoint uses an event-driven paradigm, and has many data acquisition-specific functions. It also supports GPIB, RS-232 and RS-485 interfaces. TestPoint is available to run under Windows 3.x, 95, 98, and NT, with pricing starting at approximately $1,000, increasing based on the number of points required in one's data acquisition system. LabView is a bit different. It uses so-called floating palettes, with each icon from a palette representing a given textual command. LabView's icons are connected with "wires" to pass data between them. LabView integrates well with data acquisition boards, GPIB, RS-232, VXI, and many networks. It can also use the industry standard VXIplug-and-play instrument drivers (WIN, WIN95, WIN-NT), and LabWindows/CVI drivers. For the most part, LabView programmers use unique LabView (or VXIplug-and-play GWIN) drivers that include a well-designed graphical user interface (GUI) usable in LabView. It's available for Win 95, 98, NT, and 2000 OS', Mac OS, Linux (v2.0), Solaris (v2.5 or more recent), and HP-UX (v10.2). LabViews' price ranges from $1,000 to about $3,500, with add-on toolsets costing up to as much as $2,500. Next is Agilent VEE. It consists of the VEE Pro and VEE OneLab families. VEE Pro has the full spectrum of debugging, Web, and language integration capabilities required in complex projects having multiple engineers. VEE OneLab is for simpler data acquisition programs where only one engineer is working. Agilent VEE uses a typical menu structure that generates graphical objects, with one object assigned to every task. Both products have MATLAB Script built in, seamlessly providing more than 1,200 data analysis and visualization functions in the VEE environment. The package also integrates with many data acquisition boards, GPIB, RS-232, VXI, and networks. It uses a data-flow paradigm, and has many data acquisition-specific commands and instrumentation libraries. Both Agilent VEE products communicate with Microsoft Office via ActiveX automation, and you can extend functionality through ActiveX controls. VEE Pro is available on Windows 95, 98, NT, and 2000 as well as HP-UX (10.2). It costs about $1,400. VEE OneLab is available for use on the same platforms; it's priced at $600. Instrument
Drivers Many test engineers are frustrated due to the wide variety of instrument drivers across the industry. Drivers are sometimes difficult to learn and to use, and some instruments lack drivers altogether. Instrument users want a simple, consistent software interface between PCs and instruments. So, in 1998, NI and other companies formed what's called the Interchangeable Virtual Instrument Foundation. IVI's goal is to address instrument standardization. The IVI driver standard builds on the existing VXIplug-and-play specs, which were developed in an attempt to provide industry-standard drivers. Nearly
Impossible Interchangeability There are, however, several frameworks of VXIplug-and-play drivers in use today, making interchangeability all but impossible. Instrument manufacturers typically provide their own proprietary VXIplug-and-play driversgenerally at no chargeand there are VXIplug-and-play drivers for both VXI and standalone benchtop instruments. The only proprietary driver that works without modification in C, Agilent VEE, LabView, LabWindows/CVI, and VB is the WIN95 and WIN-NT framework VXIplug-and-play driver. The GWIN driver is proprietary to LabView. IVI drivers promise state caching, multithreading for higher performance, and interchangeability. Currently, there are five instrument classes defined: digital multimeters, oscilloscopes, arbitrary waveform and function generators, DC power supplies, and switches. Three other classes are still under development. The IVI spec could result in greater software reuse, and a reduction in system development time. NI is now shipping drivers for a C-based version of the IVI drivers, which requires an engineer to use LabWindows/CVI to develop or modify any one of them. Elsewhere, Agilent Technologies joined the IVI Foundation in January of 1999 in an effort to embrace the de facto PC standard of ActiveX as a basic interface technology for instrument drivers. Standard
Software PC standard software interfaces simplify the integration between instruments and PC applications commonly used by engineers (such as Microsoft Excel and Word). These COM-based IVI drivers are compatible with VB, Visual C++, and other ActiveX-compliant software. Their development and use don't require any unique software from any one vendor. Over time, you can invest huge amount of labor resources in software. Yet, the products you design and support change rapidly. Therefore, it's critical that the software you choose works well with PC standard software to insure longevity of your labor investment, and that the software delivers on both power and ease of use. Since market research shows that the leading programming software is Visual Studio (VB & VC++), and the leading analysis and visualization programming environment is MATLAB, it's important that measurement software interfaces well with these environments. Code is being delivered more often as COM objects, so it's critical that software can contain and programmatically interface to them. Finally, with the most common software for simple viewing and analyzing information being Excel and browsers, it's important for design engineers to have software that takes full advantage of interfacing to these applications. You need to take the time to fully understand and experiment with the capabilities and application-compatibility of the various software packages before making your purchases. That may save you from losing years of engineering work down the road!
|
||||||||||||||||||||||||||||||||||
|
Copyright © 2003 ChipCenter-QuestLink About ChipCenter-Questlink |
|||||||||||||||||||||||||||||||||||