Cylinder leakage affect on closed-loop position control

I’m a newby so forgive my ignorance.
My instinct tells me in a closed-loop position control system, a small amount of leakage across the cylinder piston should be able to be compensated for by the position controller, should it not ?

Our customer has a 6" bore by 384" stroke cylinder with a 4" rod they use on a draw bench. They have an an A/B SLC PLC with analog input and output cards, a string pot for position feedback, and a D08 proportional valve with separate amplifier. The plumbing is hard pipe, but the valve is mounted on the power unit about 6 feet above the cap end of the cylinder.
They are having trouble reaching the desired retract position before cutting the material. The cylinder stops just before it is “In Position”. Our customer thinks perhaps leakage around the piston may be the problem. He attempts to resolve the issue by making null and gain adjustments on the amp. After he fools around with it enough, he can “sort of” get it to work but sometimes it will lurch and overshoot.They also have an outside programmer come in to “tweak” the system. It works for a while, then begins to act up again.
I told him I believe the control system is probably the problem. He doesn’t want to spend $1000s of dollars purchasing and commissioning a new control system if the problem is leakage past the piston.
Any advise would be appreciated !

Correction; The Proportional valve is mounted on the power unit 6 feet above the rod end port, hard plumbed. The power unit stradles the cylinder tube at the rod end.

You are correct…If it’s a true closed loop position control, the control system will compensate for any “cylinder leakage”. You’re working with a relatively long stroke cylinder. When you say it doesn’t quite get to the position, how far off is it? 1"? 0.5"? 0.05"? What range and resolution is the analog input into the PLC? Just throwing some numbers out there, if the controller analog input is rated for 14-bit resolution over a range of 384" the smallest step that could be recognized by the controller is 0.023". What’s the linearity of the string pot throughout it’s entire range? There could potentially be an “in position tolerance” value that’s allowing the controller to “think” it’s in position before it is close enough for you. These may not have much effect depending on the position error.


Thank you for your reply. My understanding is they are using a string pot with voltage output and an A-B 1746-NI4 analog input module (+/-10VDC) which is a 16 bit device and so each bit woul be approx equal to .0117". The problem they are experiencing is the cylinder stops before it is “In Position” and so the program never moves on to the next step because it is still waiting for the cylinder to be “In Position”.
I’m thinking I should suggest they use an RMC-70 to control the Draw Cylinder and the SLC-5/03 to control the rest of the machine functions. Their “programmer-for-hire” should be able to easily integrate the two.


Is the cylinder actually reaching the correct position and just not updating the status bit in the controller?

A closed loop controller will compensate for leakage but the integrator will need to be working. Normally if there is leakage the rod pressure is higher than the cap side pressure so the oil flows from the rod side to the cap side. Since the cap side is bigger the cylinder has a tendency to extend too far. This doesn’t sound like the problem described.

The valve could also have a dead band. In this case the valve will not allow flow until the valve spool shifts perhaps 20%. If the control output drops below that value the flow will stop short of the target position. SO…

What is the dead band of the valve?

Peter & Mike,
Thank you for your replies. I’ve been sidetrackd by other fires.
The cylinder stops short of the desired position.
The system uses an inexpensive Continental VED08 valve w/o spool LVDT (CHD discontinued the LVDT option. ALthough, now theu offer the DUplomatic proportional valves which do have the option).
The CHD literature states a deadband of 10% of spool travel and can be virtually eliminated with the null adjustments on the amplifer. At start up, about two years ago, the null was adjust to minimize the deadband and thr programmer was able to make they system work. Lately, they have been having this problem of the cylinder stopping short of “In Position”. The user indicated they have tried making Null and Gain adjustments on the amplifier to try to resolve the issue.
My guess is the settings need to be exactly right to work for the program to work properly.
It seems like you would just set the card up with the Null minimized and the Gain maximized and let write the program accordingly. However, if using just a PLC with analog input/output cards, that would probably be very tough to do.
Seems like using a true closed-loop controller would be musch easier to set-up and/or modify, even with the crude ED08M valve and amp.
Is that a correct assumption ?

It seems you have two problems:

  1. The valve has a dead band.
  2. There is no spool position feed back which means the spools can drift due to flow forces and probably suffers from severe hysteresis.

I don’t know how adjusting the amplifier null will truly help when the amplifier can’t compensate for spool drift due to lack of spool feedback.

Our motion controller has a dead band eliminator but it would work if the spool drifts. Usually the amplifier has LVDT feed back so that the spool can be controlled directly. Without the spool feedback the dead band eliminator probably will not work.