LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-DAQ and LabVIEW

I am having a hard time convincing myself that there is any value in the generic
DAQ functions available in LabVIEW when it is desired to have software reusability/compatibility
with possibly non-NI hardware. It seems to me that I would be much better
off writing code to talk to ActiveX drivers. Am I missing something?
0 Kudos
Message 1 of 2
(2,600 Views)
> I am having a hard time convincing myself that there is any value in the generic
> DAQ functions available in LabVIEW when it is desired to have software reusability/compatibility
> with possibly non-NI hardware. It seems to me that I would be much better
> off writing code to talk to ActiveX drivers. Am I missing something?

For interchangable HW, or the ability to shift between HW, then
what you want is a common interface -- sets of VIs that have common
connectors and common functionality. Below this set of VIs, they
can call a DLL, a CIN, they can call peek and poke, or they can
call an ActiveX server, OPC server, TCP to an ethernet device, or
whatever you like. ActiveX doesn't magically make components
interchangeable unless they have a common interface. LV is pretty
much the same. With the VIs, it isn't too difficult to shift
between them.

The most common interface for doing DAQ with LV are the NI-DAQ
icons. They have shipped for a long time and support a wide
range of boards including different busses, remote DAQ, etc.
There is at least one other company that makes a driver that
uses this interface. They have VIs that look and act the same.
That means changing your program between these two vendors is
pretty easy. Other vendors share some common functions, but
are not complete. Then you have the vendors that only have DLL
or an ActiveX server for their driver. This may be great for
you, but I suspect it will be considerably harder to use from
LV. You will end up writing the layer of VIs to go between the
DLL and C types or the ActiveX server and OLE types to LV types.
You will be the one to write it instead of the vendor.

As I said, it is possible to call DLLs, ActiveX servers, talk
to serial, GPIB, ethernet, and register based devices without
any vendor supplied VIs, but the easiest way to have functionality
in LV is to wrap them in VIs. Give them help, good icons, good
parameters, and place them logically in a palette.

So, in my opinion, the best interface to choose is the highest
level one that can accomplish your task. The one that is widely
used and has a good history. I'd recommend that you go with NI-
DAQ.

Of course you need to remember that I work for NI; so you
can do whatever you like with my advice.
Greg McKaskle
0 Kudos
Message 2 of 2
(2,600 Views)