01-21-2015 06:36 AM
Hello all,
about 15 years ago I wrote a data acquitision system using NI-DAQ and CVI on NI hardware. This system is still in use although I don't work there anymore and they want my advice on how to upgrade it. Not having used NI-DAQ since then I need a refresher. Mostly I'm worried of what kind of software modifications will be necessary.
They want to upgrade the hardware to a cDAQ-9184 CompactDAQ Chassis, NI 9263 Screw Terminal and NI 9215 BNC. Is this hardware still compatible with the old legacy NI-DAQ code (couldn't find this info on ni.com) ? And if not how hard is it, generally speaking, to go from a NI-DAQ codebase to a NI-DAQmx codebase ? Is the philosophy completely different ? I never looked at the mx API. mx is the current way to go, right ?
Thanks.
01-21-2015 10:17 AM - edited 01-21-2015 10:23 AM
Not exactly an easy and fast question to answer!
First of all, I would assume that CompactDaq devices are too new to be supported by Traditional DAQ. I cannot give this assertion for sure, but I have found this document that, if I interpret it correctly, states that CompactDAQ devices are to be used only with DAQmx.
Moving an application to DAQmx is not a trivial task, since most basic paradigms have changed between the drivers. Nevertheless, DAQmx simplifies configuration routines and offers a better support for acquisition so in my opinion the time spent in the transition is a good investment.
You can read this white paper on the subject: despite being aimed primarily to LabVIEW users, as usual, it gives you the fundamental paradigms of DAQmx and can be easily adapted to CVI, especially if you at the same time take a look at the examples supplied for this language.
EDIT I have found also this cross reference table for terminology used in the two drivers. This other document lists some fundamental functions in DAQmx and can be a good starting point to address the basic data acquisition tasks.
Since DAQmx is the current driver and no effort is spent on Traditional DAQ since several years, this is the correct way to go if you want to create a system that can run for another 15 years.
As a last note, consider that Traditional DAQ cannot be installed on 64-bit systems: this at least limits you in choosing the PC where to run your application on, and even more in the future where 32-bit systems will probably disappear.
01-22-2015 09:06 AM
Thanks Roberto.
I guess the best strategy is to schedule time to upgrade the code to NI-DAQmx. That's the current official API, right ? (sorry I'm not too knowledgeable in recent NI hardware as we design everything in house with embedded Linux nowadays).
01-22-2015 09:31 AM
Hello gdargaud,
The cDAQ-9184 requires the NI-DAQmx and will not work with the traditional DAQ drivers. You will have to spend some time rewriting portions of your program to use the NI-DAQmx functions. You can reference the DAQmx examples for help getting started. And I also recommend reading over this white paper to understand some of the specific changes required: http://www.ni.com/white-paper/4342/en/
Have a nice day!