- Is the software flexible enough to meet my future needs?
- How long will it take me to learn the software?
- Does the software integrate my chosen driver and other productivity tools (analysis, visualization, storage)?
- Is there a community of resources to use when I get stuck?
- Does this software have a proven history of stability and success?
1. Is the software flexible enough to meet my future needs?
DAQ software tools range from ready-to-run programs (no programming required) to fully customizable application development environments. Although it is easy to make an application software decision based on current system development needs, it is important to consider how this tool can scale and solve problems as the system matures.
Ready-to-run software tools often have set functionality and are designed to perform specific measurement or test routines, usually with a limited subset of hardware options. This type of software tool is a good choice for your DAQ system if it meets the needs of your current development and you do not intend to modify or extend the functionality of your system. The major trade-off is that ready-to-run application software does not always easily scale to incorporate new functionality into an existing DAQ system.
To take advantage of an application software tool that meets the needs of your current system and scales over time, you should choose an application development environment in which you can create custom applications. Application development environments are extremely flexible in the sense that you can integrate DAQ drivers into the software and develop a custom user interface (UI) and code to perform the exact measurements or test routines that you need. The only trade-off is that you need to spend time up front to learn the programming language and develop the applications yourself. Although this may seem like a large time commitment, modern day development environments provide a variety of tools to help you get started including online and live training, getting started examples, code generating assistants, community forums to share code and discuss challenges, as well as personal help from applications engineers or general support teams.
2. How long will it take me to learn the software?
The time it takes to learn a new piece of software is different for everyone and depends on the type of software tool you choose and/or the language you use to program your DAQ applications.
Ready-to-run software tools are the easiest and fastest to learn because they have abstracted programming details from the user. When deciding among custom applications for your DAQ system, you should ensure that proper resources are available to help you quickly learn the tool. Some of these resources include user manuals, help information, online communities, and support forums.
Application development environments often take longer to learn, but the majority of that time is spent learning the language that is used within the environment to program your applications. If you can find an application development environment that uses a language you are already familiar with, you can definitely reduce the time required to become a proficient programmer within a new application development environment. Many application development environments can integrate with and even compile several different languages within a single framework.
When evaluating application development environments that require you learn a new language, you should consider those that give you the ability to focus on the engineering problem at hand, rather than the low-level details of a programming language. Text-based languages, such as ANSI C/C++, are often more challenging to learn because of all the complex grammar and syntax rules that must be adhered to in order to successfully compile and run the code. Graphical programming languages, such as the one offered in NI LabVIEW, are often easier to learn because the implementation is more intuitive and is visually consistent to the way in which an engineer thinks.
You should also consider the getting started resources that are provided with the application software. These resources can help you get up and running with a new software tool in a shorter amount of time. The following are a few helpful getting started resources for any software tool:
- Evaluation – A free evaluation of the software gives you the opportunity to test things out for yourself and determine if the tool meets the needs of your application.
- Online Curriculum – Online tutorials, videos, and white papers are valuable when learning the basic concepts of application software.
- Classroom Instruction – A class on the application software is the perfect way to get up to speed and begin developing your DAQ system. The price and level of detail that a course covers depends on the type of instructional setting. Often, you can find options ranging from free seminars to formal classrooms to instructor-led online courses.
- Shipping Examples – Good shipping example sets have enough code for all of the most common types of DAQ applications. With these examples, you never need to start from scratch. You can save time by simply modifying the shipping examples to meet the needs of your system development.
3. Does the software integrate my chosen driver and other productivity tools (analysis, visualization, storage)?
Too often, developers assume the existence of a device driver is sufficient enough for integrating their measurement device into a DAQ system. What these developers do not always consider is how this driver integrates with the application software they are using to develop the DAQ system. It is important that you choose a driver and software tool that are compatible with one another to successfully integrate your entire DAQ system.
DAQ systems often require integration with system and data management software to perform postprocessing, analysis, or data storage. Be certain that the application software you choose provides an easy way to manage the data after is has been acquired.
Analysis is common in a measurement system and most application software designed for data acquisition provides these routines through a signal manipulation tool or API. You want to ensure that the analysis routines needed for your system are provided within the application software, or else you have to face the added challenge of learning two environments – one for acquisition and one for analysis – as well as the pain point of shuffling data between them.
Visualization and data storage often go hand in hand within a DAQ system. The application software that you choose should have an easy way to visualize the data you acquire, whether it’s through a predefined UI or through customizable UI controls, so that you can display the acquired data to a user. Additionally, the application software should have a simple way of integrating with system and data management software to store large amounts of data or numerous tests. Engineers frequently need to store data for manipulation at a later date, and your application software should have a variety of tools to accommodate a wide range of storage and sharing options. This provides you with the added flexibility of postprocessing data and generating standardized professional reports for collaboration.
4. Is there a community of resources to use when I get stuck?
The ecosystem that surrounds the application software is just as important as the software tool itself. A healthy ecosystem provides a wealth of resources that make it easy for you to learn a new software tool and guide you with feedback as you develop your own applications. You should take time to browse a community’s forums and determine how active it is and the kind of information being shared (code, discussions, tips, and tricks). You want a community that is heavy with activity and includes shared information that is closely aligned with the problems you are solving.
Additionally, an application software’s ecosystem of users often drives future development. You should check to see if the organization behind an application software is responsive to its community’s needs and whether the user base can provide input that guides future features of the software.
5. Does this software have a proven history of stability and success?
The last thing to consider when choosing application software for your DAQ system does not come in the form of formal documentation or feature specifications, but rather word of mouth. Browse through case studies where individuals were successful with the application software, or talk to those who have used the software tool in their own projects. Getting perspective from those outside the company in which the software is developed gives you a true indication of the history of stability and success. Choosing application software with proven stability and longevity helps ensure the reuse and scalability of your system such that your environment of choice doesn’t go obsolete a short time into using your system.
Learn more about NI's approach to data acquisition
Download the complete guide to building a DAQ system
Read about LabVIEW to see if it fits your measurement application software needs