high speed control needed

S

Thread Starter

Simon

Hello everyone,

I can not figure out how to know if a PLC will be fast enough for a project.

I have a set of 6 valves which I need to close simultaneously (or within 0.1ms). I have synchronous clocks hooked up to each valve to let me know when the valve closed and currently I am about 3ms off (fastest to slowest). So I want to write a program where I can delay each valve as necessary (to within 0.1ms) so that they all close at the same time.

Each valve is on its own digital output from the PLC with high speed relays in between.

What PLC setup can you suggest (Siemens preferred) that would guarantee me control to that resolution? Would it be more like an S7-400 or is a S7-1200 ok? Is it even possible?

Thanks for any help in understanding this.

Simon
 
You will need a PLC that has both a scan time that is significantly faster than 0.1ms and output cards that have very fast or at least predictable response times. All of the PLCs I've used have at least a 0.3ms overhead in the scan. Can you use a 8 bit microcontroller or something like that as a co processor of sorts (Atmel AVR, Arduino, etc)??

As a side note getting valves to fire predictably better than 3ms will take a special valve.

KEJR
 
C

Curt Wuollet

Good luck with that. PLCs are not designed for that type of application. The best you could probably do would be to drive all six off the same rung. That might give you a chance, but there's no guarantee since the nature of the beast is one scan time uncertainty. As far as a software solution, I don't think the timers are anywhere near 100 uSec resolution. It's just not a PLC type application.

Regards
cww
 
You say each valve is on it's own PLC output and goes through High Speed (interface?) relays.

Are the PLC outputs Solid State and can you do away with the I/F relay or is the coil load too much?

I don't know the scan times from the top of my head, but I'd suggest that the S7-1200 is a definite no as it's a low end product. You need to look at the quicker CPUs in the 400 range or even the high end 300's such as the 319. Also the amount of code needs to be kept at a minimum and I think you can call certains OBs which are high priority but essentially it is whatever is in OB1 which will affect the overall scan time. However, as Curt says, I don't think you're going to get close to what you need.

Am interested in why it needs to be so fast? What is the application?

Tom Chubb

--
Tom Chubb
tomchubb [at] gmail [dot] com
 
B

bob peterson

A normal PLC is probably not going to cut it. There are some plcs that have special high speed logic cards that are quite capable of handling this type of application.

--
Bob
 
Thanks for the responses guys.

The amps required per valve is at least 2 amps, hence the need for the relays.

It is NASA flow control experiment. Not much more I can say. :) Not top secret stuff though. Just some engineers having fun.

I'm seeing specs on S7-300 controllers that say they can do bit operations at 0.25microsec. Like the 317-2AK14. Is that useable information? It's not exactly a bit operation I'm doing, but that seems fast.

And what if I used a PC based PLC controller, would that help my chances at all?

Thanks again,
 
J
A number of years ago I was engineering manager for a product called "The Digital Valve". This was essentially a multi-ported valve with each port controlled by a discrete solenoid/air cylinder combo. Each port was either an orifice or a critical flow venturi (sonic nozzle). We sold a good number of these to NASA and they were used for flow control, especially in wind tunnels. We used MAC brand solenoids and a variety of PLC's for control. We just programmed a certain lag time into our control algorithm. With the MAC solenoids we had no trouble meeting the 100 msec response. Feel free to contact me ([email protected]) if you would like further info.
 
S
If I was trying to make a ms-level timer I'd be doing it with a RC circuit monitored by a comparator, or with a fast uP, not with a PLC.

There's probably a way to make it work with some PLC's but it's a shoehorn job.
 
W

William Sturm

The individual bit operations on a typical PLC are very fast, but the PLC operating system with communication channels and I/O updates usually take far longer.  Expect anywhere from a few hundred microseconds at best to a few milliseconds.  There may be exceptions, of course. 


Can you use something like an Arduino microcontroller board?  A PIC microcontroller with some transistor outputs could work, but you would have some hardware design to deal with.  A Parallax Propeller could EASILY do this, but with some hardware design also.

 Bill Sturm
 
C
Something PC based running a RT kernel would get you in the neighborhood. But there are ways to accomplish that even with a relatively modest PLC if you do part of it in external hardware.

For example, let's say you used some driver chips that had logical and inputs. You could use yout normal PLC outputs as an enable or permissive if you prefer, and another output to strobe all the outputs. Since they would all be driven from the same signal, they should match fairly well with little skew. As the strobe would be low power in that case, it could be a high speed output. And you get rid of the relay uncertainty. There are ways to do it, they just come more from custom electronics than OTS packaged PLCs. Sometimes folks get the "If all you have is a hammer, everything begins to look like a nail" mindset. In a past life I did auto electronics testers. To have multiple channels 0-20 VDC, 10 A programmable to .1%, I could use multiple $1000 programmable power supplies, Or I could use multiple $600 power op amps. Or I could use a $.50 op amp driving the adjust terminal of a $1.00 LM317 with a $1.25 2N37XX as a current pass element. As long as I stayed in one quadrant and above 1.25V, the $2.75 solution was faster and more accurate than the other two. My point is, there are probably much easier, cheaper and more accurate ways to do this than with an off the shelf PLC.

Regards
cww
 
W

William Sturm

I would also suggest a PLC with an internal high speed counter function with PLS (programmable limit switch) or CAM output functions.

EZAutomation has this high speed counter module for their PLC:
http://www.ezautomation.net/products/pdfs/ezio_specHSCM1.pdf

Keyence also advertises a high speed PLC:
http://www.keyence.com.sg/products/plc/plc/kv5000/kv5000_cpuunits_3.php

I'm sure there are many others that offer this functionality. Siemens probably has something like this also. You may need an external oscillator to provide a high speed pulse train (10kHz) to use to clock your outputs.

Something like this would generate an accurate clock:
https://www.bkprecision.com/products/signal-generators/4005DDS-5-mhz-dds-function-generator.html

I think these ideas may get you close; I would call the company's application engineers for more details.

Bill Sturm
 
Well, I'm more of a PLC guy and really don't know about other options... so yes, when approaching this project, it looked like a nail.

The other guys are coming up with ways too... hopefully they work.

Thanks for the input guys!

Si
 
Top