Data Acquisition with PLC

Lovie

Member
Join Date
Nov 2018
Location
Scotland
Posts
2
Hi,

I am completely new to control systems and PLCs but have been tasked with drawing-up a concept for a new R&D test system for my company - I am not to develop the system myself but I would like to gain a better understanding so I can better help the developer to meet our requirements.

Our system requires automated control & high speed data acquisition (2 - 5kHz sample rate) we currently use a LabVIEW PC based control & data acquisition system - the system works but is dated, lacks safe features & the cost of LabVIEW and NI hardware is a lot.

My main question is a PLC suitable for such high-speed acquisition? And if so what parameters do i need to research to determine a particular systems suitability?

Also does anyone have any experience with both PLC & LabVIEW who can advise more generally?

Any help would be much appreciated,

Lewis
 
Hi,

I am completely new to control systems and PLCs but have been tasked with drawing-up a concept for a new R&D test system for my company - I am not to develop the system myself but I would like to gain a better understanding so I can better help the developer to meet our requirements.

Our system requires automated control & high speed data acquisition (2 - 5kHz sample rate) we currently use a LabVIEW PC based control & data acquisition system - the system works but is dated, lacks safe features & the cost of LabVIEW and NI hardware is a lot.

My main question is a PLC suitable for such high-speed acquisition? And if so what parameters do i need to research to determine a particular systems suitability?

Also does anyone have any experience with both PLC & LabVIEW who can advise more generally?

Any help would be much appreciated,

Lewis

Plenty of PLCs can process information that fast, and many have high speed cards that can read data that fast as well. You probably can't do it with the lower end of the CPU market (less than $1000), but I could be wrong.

The trick, however, is getting the data out of the PLC in an organized and timely manner. Most PLC data logging applications think they are fast if they can log every 100ms (10Hz). In the PLC world, data logging is typically centered around the process industry, where most things you track are pretty slow to change, like temperature.

To go faster often involves buffering the data in the PLC, and then a PC program somewhere reading it out in chunks and processing it into a data log. It isn't HARD, but high speed data logging isn't something that usually "just works" out of the box. Its one of the things that PC based automation like NI tends to do better (or at least easier).
 
Last edited:
We do a lot of fast machine conditioning data logging. PLC is not "designed" for that purpose. Can it do it, sure, but it is not it well suited for that purpose.

If budget isn't an issue, then I would stay with NI. If there's no control need, then i would stay out of PLC completely and focus your search for data acquisition. I'm sure there's a lot of new, cheaper alternative these days. If you can give up the type and number of instruments then we may give better suggestions.
 
I was involved with DAQ at those speeds 30 years ago. The technology hardware and software has undoubtedly gotten better over the years, but my gut feeling is that you'd be better to stick with updated NI stuff (or a competitor), because that's where NI lives and breathes.



PLC AI's at those rates seems to me to be a hexagon peg in round round, not quite as bad a square peg in a round hole, but still some effort to get it to work.
 
a hexagon peg in round round, not quite as bad a square peg in a round hole, but still some effort to get it to work.

*yoink*

I think that is a fantastic saying, and I'm way too lazy to give attribution rights. My apologies in advance.
 
Also does anyone have any experience with both PLC & LabVIEW who can advise more generally?

PLC is better for basic control, grippers, linear slides, robot interface, etc.

LabView is better at high speed DAQ (most of my work was 433MHz).

NI has it's own trending software ($$$$$$).

NI has it's own OPC server which is a re-brand of Kepware OPC, but modified that I could not get it talking to Ignition SCADA with 2 weeks back and forth with NI tech support.

NI has it's own SCADA (LookOut).

NI hardware is more expensive, and less reliable, than a decent brand of PLC.

In summary, unless the sample rate required is excessive, give me a PLC and Ignition.
 
Horner makes PLC's that have HSC up to 500KHz that I've seen and they're reasonably priced and easy to work with. Most of their equipment is sub-$1K.
 
Check out the IntegraXor SCADA. It's fully featured and was designed for high speed applications. Actually for your intended usage, I think you can get by with the free fully functional trial.

Why don't you go and hawk your SCADA somewhere else, you are adding nothing to this community apart from using it as a poor attempt to sell product, you can't even be bothered to quantify why you think your SCADA will do the job....
 
Thank you all for your contributions. I was unaware of the benefits of the Beckhoff option, I will look into it further.

To help me understand a bit further, can anyone give a brief description of how high speed data acquisition could take place on a PLC? My understanding is that the effective sample rate of the PLC is governed by the cycle time i.e. the PLC reads all inputs, executes the program, the writes the outputs. So the time to create a data sample = cycle time. For data acquisition I would expect that an interrupt routine could be used to acquire the data faster, but to read at 5kHz would require an interrupt to run every 0.2ms, this seems fast to me and likely to cause run issues. I may be completely wrong here though, hence the question?
 
Thank you all for your contributions. I was unaware of the benefits of the Beckhoff option, I will look into it further.

To help me understand a bit further, can anyone give a brief description of how high speed data acquisition could take place on a PLC? My understanding is that the effective sample rate of the PLC is governed by the cycle time i.e. the PLC reads all inputs, executes the program, the writes the outputs. So the time to create a data sample = cycle time. For data acquisition I would expect that an interrupt routine could be used to acquire the data faster, but to read at 5kHz would require an interrupt to run every 0.2ms, this seems fast to me and likely to cause run issues. I may be completely wrong here though, hence the question?

Mostly right, but I'll add something. The thread touches on this, but doesn't outright say it:

Analog cards have their own sample time (how long it takes to actually read all the inputs) that is independent of how often they report data back to the PLC. Many low end analog cards (even on good PLCs) will just report the same data back 10 times until they update again. For many things (temperature control) this is mostly OK, although you usually want to adjust the communication time to match the card's sample rate. You usually need a special high speed card to match the sampling times you're looking for.

Some of those High Speed cards I've seen come with a feature I've seen called called "oversampling" where if the analog card can read data faster than it talks to the PLC, then it reports back multiple values at once (taking up more IO space to do so).

As I said in an earlier post, though, taking the actual samples is only half the problem. You also need to figure out how you're going to get the data out of the PLC and into whatever you're logging with. It is possible, but far from trivial.
 
Last edited:
To help me understand a bit further, can anyone give a brief description of how high speed data acquisition could take place on a PLC? My understanding is that the effective sample rate of the PLC is governed by the cycle time i.e. the PLC reads all inputs, executes the program, the writes the outputs. So the time to create a data sample = cycle time. For data acquisition I would expect that an interrupt routine could be used to acquire the data faster, but to read at 5kHz would require an interrupt to run every 0.2ms, this seems fast to me and likely to cause run issues. I may be completely wrong here though, hence the question?
I have recently used the Beckhoff XFC technology with an oversampling card. I set the PLC scan rate at 1ms with a card oversampling of 10. The card would return an array of 10 points to the PLC on every scan which gave an effective rate of 10khz sampling.

My purpose was not for high speed data collection, but to precisely capture when a reading from a pressure switch detected a hydraulic pressure threshold to coincide with a position.
 

Similar Topics

We are exploring options for high speed data acquisition. Currently use AB hardware to do the machine controls and then NI hardware for the high...
Replies
2
Views
2,785
We've got a data acquisition application that's one of the best fault finding tools I've ever used (because I can go back in time and see what was...
Replies
0
Views
1,885
I would like to network 40 to 50 PLC's for some basic data collection. Once a shift I want to log things like production totals, rejects, machine...
Replies
5
Views
3,286
Sir, Could you please help me? I need to pull up temperature values from RS linx to Micrologix 1000 PLC using modbus. I've been trying for days...
Replies
10
Views
5,920
I have a project that requires retreiving data from a PLC and storing (saving) that data (to a PC?) for later viewing, printing, etc... The data...
Replies
6
Views
9,358
Back
Top Bottom