Latest News
August 1, 2004
By Malcom Borgendale
Quick question: What’s the most costly part of developing a data acquisition(DA) system: development time, hardware, or software? The answer: Developmenttime.
According to the 2004 National Instruments survey of DA users and prospects,development time commonly accounts for two-thirds of the total of building a DAsystem, whereas system hardware and software accounts for only a third of thetotal development costs. Measurement services software is a frequently overlookedsystem component that can save development time and therefore money.
Figure 1: Measurement services software architecture describes an entire featureset that can make a DA device easier to set up and a better performer.
Recent advancements in measurement services technologies simplify new applicationdevelopment as well as improve the performance of existing systems. Among themore notable developments in this technology are automatic code generation, measurementmultithreading, and plug-and-play TEDS (transducer electronic data sheets) sensorintegration.
When you’re in the market for a new DA device or enhancements to your existingDA setup, it makes good sense to consider the depth and breadth of measurementservices software available for your component of interest. Here’s a look at someof the time-saving innovations in measurement services software and their impacton application development time.
Figure 2: The DA Assistant automatically generates code and provides upfrontconfiguration.
What Is Measurement Services Software?Most DA vendors provide with their device a basic driver for simple configuration,primitive programming, and device control. Measurement services software providesan entire feature set built around this basic driver. This feature set makes yourDA device easier to use, quicker to set up, and faster at acquiring data. Theseservices, often included at no charge, give you full device test panels, optimizedmultithreaded and single-point I/O, integrated sensor scaling to real-world units,a single easy-to-use programming interface across many device types and functions,automatic code generation, and measurement examples.
Before you purchase your next DA device or system, examine the accompanying softwareto determine if it includes full measurement services software or just a simplebasic DA driver. Go beyond checking to see if it indeed supports your operatingsystem and programming language. Check to see if the software is actually easyto use, is optimized for performance, and has all of the features you want.
Programming signal-conditioning and DA devices can be time consuming and frustrating.Getting the correct order of functions to properly configure the input limits,acquisition rates, buffer allocations, and I/O transfers is often not trivial,especially as your application becomes more complex. A well-designed and well-implementedprogramming interface and some simple example programs can help, but you wouldbe better off if you could configure your application up front and generate thenecessary DA code for it.
Automatic code generation, on the other hand, helps new users get up and runningquickly, and it helps experienced developers program and tweak their DA code faster.Figure 2, above) shows a functional description of a DA Assistant, a utility thatprovides upfront configuration and code generation. This utility begins with themeasurement you are trying to makee.g., temperature, strain, or frequencyandguides you through all of the necessary parameters to configure your signal conditioning,sensor scaling, and run-time behavior. Once you have completed the configuration,you can generate the runtime code for NI LabVIEW, C/C++, Visual Basic .NET, orC#.
Figure 3: Multithreading improves I/O throughput.
I/O System Throughput with MultithreadingModern multithreaded driver engines, like NI-DAQmx, break each program into individualmeasurement tasks. Each task can exist in a separate processor thread; so multipleDA tasks can run simultaneously without interfering with each other.
All programs are made up of one or more threads that define the flow of execution.In a single-threaded program, all operations must run in sequence and wait forthe preceding operation to complete. But in a multithreaded DA application, oneI/O task, such as analog input, starts and then sleeps, waiting to collect thedata from an onboard buffer. During the sleep state, the analog input task yieldsthe process to another I/O task such as digital input operation.
Figure 3 shows the timing diagram for a simple multithreaded and a single-threadedDA application. The driver engine automatically executes multiple I/O operationsof a program in multiple threads, which maximizes I/O speed and bandwidth. Forexample, a typical high-performance multifunction DA device has six types of I/Ooperations: analog input, analog output, digital input, digital output, counterinput, and counter output. With a multithreaded I/O-capable driver engine, youcan automatically control these I/O operations concurrently using different threads.You do not need to be a programming expert because the driver engine handles threadassignments for you. You can dramatically speed up the performance of your I/Ooperations without additional programming.
Figure 4: LabVIEW program for concurrent analog input and digital output loops.
In the past, you may have experienced what is commonly referred to as “blocking"when an analog input waveform function executed and prevented other operationsfrom completing. Multithreaded I/O removes the blocking effect in your programswith multiple I/O operations. Figure 4 (above) shows a program that demonstrateshow multithreading improves performance. The program concurrently controls a digitaloutput and analog input operation. Tests show a dramatic performance gain of upto a 1,000 times increase over single-threaded drivers while acquiring 10,000analog input samples per second.
Plug-and-Play TEDS SensorsPerhaps the newest technology in measurement services software is the integrationof plug-and-play TEDS sensors. Defined by the IEEE P1451.4 standard, TEDS sensorsmake it much easier to configure and track a wide variety of sensor types.
At the core of TEDS technology is a standardized electronic data sheet that allowsDA hardware and software to automatically read scaling, input limit, calibration,and other specific information. Smart TEDS sensors store their data sheets onan embedded memory chip. When you connect a smart TEDS sensor to your DA system,the hardware reads the data sheet information. For legacy and simple sensors thatlack embedded memory chips, you can download a virtual TEDS data sheet from theWeb, making almost any sensor TEDS-capable.
Whatever the source of information, you can use measurement services softwareto read TEDS information and then configure the appropriate signal-conditioninghardware. The TEDS information reduces setup time and virtually eliminates errorsin sensor-based DA systems because the system reads all sensor-specific informationdirectly from the electronic data sheet instead of through manual input.
Get the Best Software for Your DA SystemNext time you evaluate a DA system, remember that the time you spend configuring,building, and developing code will likely cost you more than the initial hardwareand software purchase. The quality of your driver or measurement services softwarewill have a great impact on your development time. If you choose a basic driverthat lacks these measurement services technologies, you may end up wasting yourtime and money.
Malcolm Borgendale specializes in measurement software for National Instruments. You can contactMr. Borgendale through e-mail c/o [email protected].
Contact National Instruments for additional information on data acquisition products and services.
Subscribe to our FREE magazine,
FREE email newsletters or both!Latest News
About the Author
DE EditorsDE’s editors contribute news and new product announcements to Digital Engineering.
Press releases may be sent to them via [email protected].