Jump to content
News about the LabVIEW Wiki! Read more... ×
Zyga

NI DAQ alternatives

Recommended Posts

LAVA users,
We are looking for alternatives for NI DAQ devices for industrial automation. Since NI has its devices mostly focused on advanced/high speed/high precison data acquisition/processing its prices are inadequate to simple automation tasks. 
I would also say that NI PC based daq systems are expensive if need to be distributed systems (found this but still relatively expensive cRIO required).
Just now we need to extend our compactDAQ based system with two DIO modules. We even have free chassis slots for this, but station that needs this IOs is few meters away from PC. How easier would it be if we could use single ethernet cable..  Ofcourse we can add another small cDAQ (what we probably going to do) but this is slightly expensive solution for our customer.

Does anyone have some experience with 3rd party solutions? Any known daq devices vendors? Standalone ethernet daq modules?

Regards,
Zyga

Share this post


Link to post
Share on other sites

Do you have performance requirements? (acquisition rate, throughput, latency, buffer size, etc?)

For example you say "distributed" "automation" tasks which to me says 10-100 Hz, single point measurements, continuously, forever. So for this I would probably look at an ethernet RIO 9147 or ethercat (what you linked)... But you are using cdaq which is not really an industrial automation device so I'm confused about what you want.

You may also want to add a budget, since for example a cDAQ unit is like $1200 which in the US is like a day of an experienced engineer's time...in a lot of cases just evaluating other options would be more expensive. You also have to consider the code quality reduction associated with now using the NI DAQ driver and some other driver in your application, and whether that is worth some few hundred dollars.

Edited by smithd

Share this post


Link to post
Share on other sites

You might want to google "Remote I/O" (not "Distributed I/O", those are two slightly different things). Every industrial automation company have some (Advantech, Phoenix, Eaton, Moxa... Just from top of my head). If this is slow, simple monitoring of some DIO states, you might be able to find Modbus solution which would not generate additional hardware costs (just connect Ethernet or serial cable, grab free toolkit and you're good to go). But if you need something more complex, then you might quickly get to the point where adding NI based solution to your already NI based project is not really more expensive.

Share this post


Link to post
Share on other sites

What it sounds like you're asking for is where NI has gotten out of (<100 Hz) because there are tons of remote I/O options Rockwell, Siemens, GE, etc., already on the market. All of these use some form of bus (RS232, RS485, PROFIBUS/NET, Ethernet/IP, CAN...). Depending on what you pick you can spend just as much as a cDAQ in time and materials.

NI acquired Measurement Computing some years ago. I've never used the hardware, but they do list having LabVIEW drivers. Some devices look to be able to handle industrial logic levels (24V).

Share this post


Link to post
Share on other sites

I'm going to keep going on the extreme cheap side of things and suggest an Arduino.  NI already has an API for doing buffered analog inputs, although I don't know the rates I expect on the order of 100Hz.  Chinese knocks offs exist for about $3 or $4 with free shipping.  Add a buck or two for a USB cable and case, and you have a pretty cheap USB DAQ device that uses NI VISA as it's low level making it work on all NI targets.  Making it ethernet controlled via TCP is possible too, it would just need an ethernet shield and some code depending on what LINX supports these days.  What don't you get?  Fast shipping, expect it to take a month or 2.  Also don't expect support, if you fry the thing there isn't a warranty.  There is no voltage protection either. If you put 60VDC into it that pin is toast, and possibly the whole microcontroller.  Need a yearly calibration for equipment?  Yeah you're going to have to come up with your own calibration routine that gets approved.

All that being said I have used an Arduino in a real production project...but it was for DIO only, and an unmodified LIFA toolkit which controlled relays in the system through a transistor.  It was pretty simple and just for a cost saving on a low risk setup.  We considered using a parallel port at one point.  As far as I know this test is still in place being used

Share this post


Link to post
Share on other sites
11 hours ago, PiDi said:

You might want to google "Remote I/O" (not "Distributed I/O", those are two slightly different things). Every industrial automation company have some (Advantech, Phoenix, Eaton, Moxa... Just from top of my head). If this is slow, simple monitoring of some DIO states, you might be able to find Modbus solution which would not generate additional hardware costs (just connect Ethernet or serial cable, grab free toolkit and you're good to go). But if you need something more complex, then you might quickly get to the point where adding NI based solution to your already NI based project is not really more expensive.

 

Moxas units look quite nice. I usually go with ethercat because it's so dead simple but their Ethernet modules (ioLogik) come close to swaying me.

To add to the list, beckhoff is best known for ecat but has bus couplers for profibus, serial, can open, devicenet, Ethernet IP, and modbus tcp. I also quite like their I/o physical design.

 

 

Along the lines of hooovahhs cheaper unit, you might look at these guys (raspberry pi): https://www.unipi.technology

Edited by smithd

Share this post


Link to post
Share on other sites
2 hours ago, smithd said:

 

Along the lines of hooovahhs cheaper unit, you might look at these guys:

https://www.unipi.technology

You can also get other PLCs at this price range. Though I never actually used them, Rockwell Micro820 and 830 series looks interesting (industrial grade, some build-in DIO and AIO, ability to extend by pluggable modules, Ethernet/IP communication). And AFAIK they come with free software (Connected Components Workbench). There are of course others - Siemens Logo!, Mitsubishi also have some cheaper models... 

  • Like 1

Share this post


Link to post
Share on other sites
18 hours ago, smithd said:

Do you have performance requirements? (acquisition rate, throughput, latency, buffer size, etc?)

For example you say "distributed" "automation" tasks which to me says 10-100 Hz, single point measurements, continuously, forever.

 

We do not have strict requirements. This question do not apply to any specific project we are going to implement in near future. This is question in general, but basically I cant think of something that 100Hz, single point measurement wouldn't be sufficient.
 

18 hours ago, smithd said:

But you are using cdaq which is not really an industrial automation device so I'm confused about what you want.

Actually we have few industrial eol testers based on Windows PC + cdaq, and they works perfectly well. These are not always harsh environments and cDaq does well.

18 hours ago, smithd said:

You may also want to add a budget, since for example a cDAQ unit is like $1200 which in the US is like a day of an experienced engineer's time...in a lot of cases just evaluating other options would be more expensive. You also have to consider the code quality reduction associated with now using the NI DAQ driver and some other driver in your application, and whether that is worth some few hundred dollars.

Few matters which needs to be balanced and analyzed carefully. Depends on many factors really. Surely if you would have had few implementations over year, you could consider writing your own, good quality driver.

13 hours ago, hooovahh said:

I'm going to keep going on the extreme cheap side of things and suggest an Arduino.  NI already has an API for doing buffered analog inputs, although I don't know the rates I expect on the order of 100Hz.  Chinese knocks offs exist for about $3 or $4 with free shipping.  Add a buck or two for a USB cable and case, and you have a pretty cheap USB DAQ device that uses NI VISA as it's low level making it work on all NI targets.  Making it ethernet controlled via TCP is possible too, it would just need an ethernet shield and some code depending on what LINX supports these days.  What don't you get?  Fast shipping, expect it to take a month or 2.  Also don't expect support, if you fry the thing there isn't a warranty.  There is no voltage protection either. If you put 60VDC into it that pin is toast, and possibly the whole microcontroller.  Need a yearly calibration for equipment?  Yeah you're going to have to come up with your own calibration routine that gets approved.

All that being said I have used an Arduino in a real production project...but it was for DIO only, and an unmodified LIFA toolkit which controlled relays in the system through a transistor.  It was pretty simple and just for a cost saving on a low risk setup.  We considered using a parallel port at one point.  As far as I know this test is still in place being used

It sound like an idea, but it might be very hard to make customer believe this is robust solution. I have never programmed Arduino by myself either, so I would't feel very confident with this solution..

18 hours ago, PiDi said:

You might want to google "Remote I/O" (not "Distributed I/O", those are two slightly different things). Every industrial automation company have some (Advantech, Phoenix, Eaton, Moxa... Just from top of my head). If this is slow, simple monitoring of some DIO states, you might be able to find Modbus solution which would not generate additional hardware costs (just connect Ethernet or serial cable, grab free toolkit and you're good to go). But if you need something more complex, then you might quickly get to the point where adding NI based solution to your already NI based project is not really more expensive.

I was looking on Advantech before and did not find any tempting hardware there, but Phoenix and Moxa looks way better.

10 hours ago, PiDi said:

You can also get other PLCs at this price range. Though I never actually used them, Rockwell Micro820 and 830 series looks interesting (industrial grade, some build-in DIO and AIO, ability to extend by pluggable modules, Ethernet/IP communication). And AFAIK they come with free software (Connected Components Workbench). There are of course others - Siemens Logo!, Mitsubishi also have some cheaper models... 

Yes, but getting deeper in this direction we do not need LV at all.. remote IO modeules easily controllable via LV software.. That is the main goal.


From what I see there are solution that I was't aware of, but not yet tested in LV. Now most difficult question to answer to is the one from @smithd. Whether it is path worth of exploration or it is just waste of my time and money..

Share this post


Link to post
Share on other sites

It's a fairly vague requirement that needs a bit more digging before examples can be offered.

You also say that an Ethernet connected device is a possibility. These will always be cheaper than NIs cDAQ. There there are hundreds of Ethernet solutions out there but you can narrow that down for certain criteria.

  1. You say DIO. Does that mean you don't need a multifunction device (with analogue)? Single function devices are much cheaper and, when it comes to DIO, dedicated Input or output channels are generally cheaper than programmable - even if on the same board (e.g. 8 digital in, 8 digital out).
  2. What voltage range will you be working with? For DIO there are options for 24v,12v,5v and 3.3v. 24v are rare whilst 5v are ubiquitous.
  3. Does the IO need to be isolated? Non isolated devices are always cheaper but more risky.
  4. How many channels of digital in and digital out do you require?  I so miss the NI DIO96!:(
  5. For DIO does it need to be current sourcing or sinking? How much current needs to be provided/dissipated - per channel, per bank or per device?
  6. What is the nature of the signal you are trying to detect? If it is transience, then most Ethernet DIO devices have on board processing to edge detect, vastly reducing the need for fast update rates in the client. If the processing is, say, sampling a signal, then the update rate at the client end will be crucial.

These are the kinds of things that need to be considered when looking at a device of any type. What you require or choose will greatly reduce the applicability of the devices on offer and in some cases make you compromise on your requirements.

Edited by ShaunR

Share this post


Link to post
Share on other sites
3 hours ago, Zyga said:

It sound like an idea, but it might be very hard to make customer believe this is robust solution. I have never programmed Arduino by myself either, so I would't feel very confident with this solution..

Keep in mind there is no programming needed (on the Arduino side) if you are controlling it via USB.  NI's LIFA, or better yet LYNX has a firmware that gets downloaded to the Arduino, and then the API they developed you use from the LabVIEW palette.  It also supports several useful sensors, I2C, SPI, and a bunch of other great things.

Share this post


Link to post
Share on other sites
1 hour ago, hooovahh said:

Keep in mind there is no programming needed (on the Arduino side) if you are controlling it via USB.  NI's LIFA, or better yet LYNX has a firmware that gets downloaded to the Arduino, and then the API they developed you use from the LabVIEW palette.  It also supports several useful sensors, I2C, SPI, and a bunch of other great things.

LINX is not for commercial uses, at least that's what they say in the license agreement:

Quote

Subject to your compliance with the terms of this software license agreement, NI grants you a limited, revocable, non-exclusive, 
non-sublicensable license to use this software (“Software”) solely to deploy developed programs to your hardware targets (each “Target”) 
and solely for your personal, non-commercial use. You may redistribute the code solely for the recipient’s personal, non-commercial
provided that you include a copy of this license with the software.

And actually the customer who don't believe this is robust solution would be absolutely right :D 

Share this post


Link to post
Share on other sites
57 minutes ago, PiDi said:

LINX is not for commercial uses, at least that's what they say in the license agreement:

Not sure where that is quoted from, but the LINX package on VIPM Tools Network states the license is BSD Clause 2, with the added exception that:

Quote

deployment support for BeagleBone Black and Raspberry Pi 2 (LabVIEW 2014 only, non-commercial use).

The package doesn't include their whole license file but BSD Clause 2 is quite open, usually just stating that the license notice must be retained in some form like an about window.  Not a lawyer, and in my case my end customer is my boss, or my bosses boss.  It is a business setting but I'd consider it non-commercial.  Again, not a lawyer, and I'm open to being wrong.

Share this post


Link to post
Share on other sites
1 hour ago, hooovahh said:

Not sure where that is quoted from, but the LINX package on VIPM Tools Network states the license is BSD Clause 2, with the added exception that:

The package doesn't include their whole license file but BSD Clause 2 is quite open, usually just stating that the license notice must be retained in some form like an about window.  Not a lawyer, and in my case my end customer is my boss, or my bosses boss.  It is a business setting but I'd consider it non-commercial.  Again, not a lawyer, and I'm open to being wrong.

I got it from the license agreement, here:

linx_license.jpg

I've found the topic on that matter: https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=1463&p=7385&hilit=license+agreement#p7385 , and it seems that intention was to exclude only BBBlack and Raspberry from commercial use... But I don't think it is in any way clearly stated in the license agreement (I'm not a lawyer too, so maybe I'm just missing something).

Share this post


Link to post
Share on other sites

Thanks for, that.  Looking more at how VIPM handles this I see a minor bug, or lapse of a feature.  If you don't have LINX installed, that License Agreement button isn't there.  Only after you choose to install it do you get prompted to agree to the more detailed license, that's why I assumed it was just BSD2.  Then after it is installed that button for me at least is able to be clicked.  Definitely not clear, but at least there is proof on the internet of someone involved in creating the license, stating the non-commercial use is intended for the deployment to Pi and BB.  Now lets just hope no one has to site that in a court appearance.

Share this post


Link to post
Share on other sites
23 hours ago, ShaunR said:

It's a fairly vague requirement that needs a bit more digging before examples can be offered.

You also say that an Ethernet connected device is a possibility. These will always be cheaper than NIs cDAQ. There there are hundreds of Ethernet solutions out there but you can narrow that down for certain criteria.

  1. You say DIO. Does that mean you don't need a multifunction device (with analogue)? Single function devices are much cheaper and, when it comes to DIO, dedicated Input or output channels are generally cheaper than programmable - even if on the same board (e.g. 8 digital in, 8 digital out).
  2. What voltage range will you be working with? For DIO there are options for 24v,12v,5v and 3.3v. 24v are rare whilst 5v are ubiquitous.
  3. Does the IO need to be isolated? Non isolated devices are always cheaper but more risky.
  4. How many channels of digital in and digital out do you require?  I so miss the NI DIO96!:(
  5. For DIO does it need to be current sourcing or sinking? How much current needs to be provided/dissipated - per channel, per bank or per device?
  6. What is the nature of the signal you are trying to detect? If it is transience, then most Ethernet DIO devices have on board processing to edge detect, vastly reducing the need for fast update rates in the client. If the processing is, say, sampling a signal, then the update rate at the client end will be crucial.

These are the kinds of things that need to be considered when looking at a device of any type. What you require or choose will greatly reduce the applicability of the devices on offer and in some cases make you compromise on your requirements.

These are questions that have to be answered before every single project. And assumption is that if I choose decent vendor, he will provide me with any of above options (I wouldn't dare to demand DIO96..).
More important for me is to find solution tested with pc based systems.. With NI I am sure of community and NI support. Whole bunch of pitfalls already discovered and resolved or walkaround found.


If about LINX license, this is plainly answered in FAQ authors site.
So Yes, you can use LINX to programm arduino for commercial usage.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site, you agree to our Terms of Use.