Allen Bradley Hydraulic Servo Motion Control

I don't know the specifics of the HYD02 but I do have a test box with pots to manually demo servo control of hydraulics.

To start, you should set in a proportional gain of 1 and no other active loop parameters (I, D, FF etc all disabled or off).

Set up a scope or trace of the command, feedback and output. Verify that the feedback tracks when you move the magnet. Set the command and feedback lines on top of each other and then turn on the control loop. Now vary the command to move the trace above the feedback. The output. Should rise along with the command. Move the magnet to bring the feedback line up to the command and the output should move back toward zero, hitting 0 when you put the feedback line directly on top of the command line.

You may have to scale things so you can see them all on the trace. For demo purposes I scale the command and feedback 0 to 100 and the output to +/-100. With a gain of 1 the output should numerically match the difference between the CMD and fdbk. With the scaling as I have explained, this is easy to see on a trace.

Once you get comfortable with that, you can turn on some integrator and then watch the output change even when the CMD and fdbk are constant. This is great to visually see what the integrator does.

But, you won't be able to control the magnet by hand accurately enough to get the loop tuned close to the physical reality of the system. You'd be better off looking to some of peters old posts on modeling to see what type of system you have and initial gain values to start with for tuning.
 
I was not able to see the position command and position feedback when I was homing or running the MAM instruction. Should I be able to see position feedback when I make a homing move..
 
The PID for M02AE, HYD02 and M02AS is a little different

Also, I gave the servo a MAM command using motion direct commands.. Once I issued the command for a forward absolute position, the signal went to +10VDC.

This can be due to two factors.
1. There is an overall scale factor the is set by entering the maximum velocity that will be obtained when 10 volts is applied. You may have this value set too low. If you have this value set for 20 inches per second and you tell the system to go 10 inches per second you should get about 5 volts out.
2. The other possibility is that the system simply will not go as fast as desired. We see this all the time due to poor hydraulic design.

I don't have the help file and it has been years since I played with one of these HYD02. It would be nice to point a link to the full manual. Most of the pdf files I see on the web don't go into any detail. Of course I have all the nitty gritty details at work.

What would be VERY helpful is to use the direct output command to output 2 volts in each direction and record the velocity in each direction. We can then assume the system is roughly linear and multiply this speed by 5 to get the velocity at 10 volts. This will be only roughly accurate because of the valves not being linear.

The first thing you must do is get the maximum velocity parameter right. I don't have any documentation at home that tells the actual name but basically this parameter tells the motion module how fast the system will move when a 10 volt control output is applied. This is an over PID and feed foward scale factor.

The output of the PID and Feed fowards is not a voltage but rather a velocity. This is important. The means that when you tell the controller to move at 10 inches per second the output of the PID and feed forwards should be 10 inches per second. This output is then divided by the maximum velicity term which and multiplied by 10 volts to get the control output signal.

This means the feed fowards should almost always be set to 1 so the output of the PID/FF is 10 inches per second when given a command to move at 10 inches per second. The P term simply adds or subtracts from the output velocity. The reason for this is that the parameters had to be the same as the M02AE that can use a inner velocity loop.

So get this maximum velocity term set correctly because it scales everything. Also leave your velocity feed forward set to one. Use the auto tune to get you in the ball park and then tweak from there. You must auto tune in each direction because the gain will be different extending than retracting due to the unequal area on each side of the piston.

Vickers valves are not linear so getting the axes to be tuned extremely tight will not be possible.

Here is a link to a pdf file that shows how we tune and axis when not using the auto tune.
http://www.deltamotion.com/peter/RMC/Delta - Tuning A Position Axis 20051221.pdf
It was written by one of our regional sales managers, not an engineer.

I don't think they can do simulations other than move the target positions back and forth.

You shouldn't need to use the MAH. The HYD02 supports it to be compatible with the M02AE but the Balluff transducers are absolute so homing isn't necessary.
 
Peter,

Here is a manual that I have been using for the 1756-hyd02 card. I have another question.. I setup trends for position command, position feedback and velocity command,velocity feedback. However, I was not seeing these change in the controllogix when I was issuing motion direct commands. However, I could see the regular command position changing.. Not sure that I understand that..

Also, I may need some help when I put this thing in getting it finished. So, I may be asking for your expertise once we get ready to install this new system..

http://literature.rockwellautomation.com/idc/groups/literature/documents/um/1756-um525_-en-p.pdf
 
Peter,

Here is a manual that I have been using for the 1756-hyd02 card. I have another question.. I setup trends for position command, position feedback and velocity command,velocity feedback. However, I was not seeing these change in the controllogix when I was issuing motion direct commands.
If you use the direct output to send two volts to the valve the actuator had better move at about 20% speed. If your system doesn't move with 20% control signal, 2 volts, then there is something very wrong. When you use the direct output to send a voltage directly to the valve you better see motion.
1 volt for 10% max speed
2 volts for 20% of max speed.
3 volts for 30% of max speed.
You should be able to measure the control output using a multimeter.

If you don't have a real system it will not move the command or actual position.

However, I could see the regular command position changing.. Not sure that I understand that..
I tell our customers to send a graph or plot then call. I need to see the trend.

Also, I may need some help when I put this thing in getting it finished. So, I may be asking for your expertise once we get ready to install this new system..
It looks as if you need a little training on the use of Rockwell motion modules. They are aren't that difficult to set up but you must go through the setup procedure carefully.

The key thing now is getting the actuator to move at 10% speed with 1 volt of output, 20% speed with 2 volts of output etc, and if it doesn't then why not.

A screen capture of a trend would be very helpful.

I have that one. I was hoping there was something with more detail.
 
Peter,

I was wanting to clarify my statement about giving the axis a move command (like a MAH). For example, when I issued a MAH command for my axis named Left_Ram, I saw the following tag change Left_Ram.CommandPosition but I never saw the Left_Ram.PositionCommand tag change. Even when I issued an MAM, I never saw the .PositionCommand or .PositionFeedback change. I was trying to issue a command, see the output change on my multimeter, then move the axis to a position setpoint from the MAM. I was thinking that if I do that, I should be able to stop on the setpoint and be able to see the MAM.PC come on. I was confused as to why I never saw these tags change. Like we discussed, I was able to see the Left_Ram.CommandPosition change and the Left_Ram.ActualPosition.

Does the autotune set the velocity scaling tag in the plc? Also, does the autotune set the max speed/acceleration. It has been my experience with servo motors that the autotune works ok but it just tunes the axis too hot and there is oscillation. Normally, I do the autotune, then manually tune to remove the oscillation.

In your previous post, you had stated use motion direct commands to output 2 volts at 20%. Were you talking about issue an MAM and putting the speed units to %max, then entering 20% to get 2v. I think that this is what you are talking about because I don't think there is a command that you can select a voltage output. I just wanted clarification on that.

I have went through the manuals that Rockwell have in regards to the setup of the card. As you know, I think that they have alot to be desired. For the most part, I think I have a pretty good handle on the setup of the card but there are things that I don't understand and the manual is not that much help. So, yes, I think I may need some more information.
 
Last edited:
Peter,

I was wanting to clarify my statement about giving the axis a move command (like a MAH). For example, when I issued a MAH command for my axis named Left_Ram, I saw the following tag change Left_Ram.CommandPosition but I never saw the Left_Ram.PositionCommand tag change.
I said the MAH isn't really necessary. It doesn't do anything because it doesn't need homing because the Balluff rods provide absolute positions.

Even when I issued an MAM, I never saw the .PositionCommand or .PositionFeedback change.
Can't help you there. That is a PLC programming problem. Are you sure you have the axes enabled?

I was trying to issue a command, see the output change on my multimeter, then move the axis to a position setpoint from the MAM. I was thinking that if I do that, I should be able to stop on the setpoint and be able to see the MAM.PC come on. I was confused as to why I never saw these tags change. Like we discussed, I was able to see the Left_Ram.CommandPosition change and the Left_Ram.ActualPosition.
I said use the direct output command. THis is a open loop command that simply outputs a voltage and by passes the PID.

Does the autotune set the velocity scaling tag in the plc? Also, does the autotune set the max speed/acceleration.
It don't remember. It has been 10 years since I set one up. I do know it worked without problems and that was that, next problem.

It has been my experience with servo motors that the autotune works ok but it just tunes the axis too hot and there is oscillation. Normally, I do the autotune, then manually tune to remove the oscillation.
I can't speak for other peoples auto tunes but again that is something that happens in the PLC or RS5000 software. The motion cards simply go to the position downloaded during the coarse updates. The real brains are in the PLC and we have nothing to do with that.

In your previous post, you had stated use motion direct commands to output 2 volts at 20%. Were you talking about issue an MAM and putting the speed units to %max, then entering 20% to get 2v. I think that this is what you are talking about because I don't think there is a command that you can select a voltage output. I just wanted clarification on that.
The direct output command is an open loop command that simply outputs a voltage like the RMC100's (O)penloop command.

I have went through the manuals that Rockwell have in regards to the setup of the card. As you know, I think that they have alot to be desired.
Yes, I couldn't find a list of commands and what they did. I am pretty sure the direct output command is the open loop commands that simply outputs a voltage and by passes the PID.

For the most part, I think I have a pretty good handle on the setup of the card but there are things that I don't understand and the manual is not that much help. So, yes, I think I may need some more information.
First you must get an open loop voltage on the output. Read the trouble shooting guide to make sure you have the HYD02 enabled so voltages can be commanded.

I can't do anything more for you until you get the information I asked for. Send the trend showing the motion as a function of the control output so we can see what the maximum gain has been sent to.

Have you done the hookup test?
Have you tired using the auto tune?
 
The PLC side of things from MO2AE experience

Even when I issued an MAM, I never saw the .PositionCommand or .PositionFeedback change.
Rockwell do not update all .tags in the PLC
.ActualPosition is updated every coarse update rate
.CommandedPosition is updated

To select some extra values on a axis - For MO2AE I have "Servo output Level" and "Position Error"
Under the axis properties -> servo -> "real time Axis information"
Select two attributes that you want to monitor. Updated every motion group coarse update rate.
You may also have to set "motion group properties" -> Attribute -> "Auto tag Update" to Enabled​

If you want more values then use a GSV on the axis to get the attribute that you are after


direct output command. THis is a open loop command that simply outputs a voltage and by passes the PID.
This command is MDO Motion Direct drive On and its counter part is MDF motion direct drive OFF
Help extraction
This instruction activates the module's Drive Enable, enabling the external servo drive, and also sets the servo module's output voltage of the drive to the specified voltage level.



post added for later readers
 
A quick note and a quick question:
On the original question of gearing vs. independent position moves it depends on how synchronised you need the moves to be. If it's for centering arms then it's really just your final position you care about so a little lag on one side or the other shouldn't really matter? For this two identical position moves issued simultaneously would be fine.
If you're looking for perfectly synchronised motion from both side rams then gearing them both to a virtual axis means they would try and track the perfect position of the virtual and take care of any variations independently avoiding any master/slave issues that may arise if you geared one ram to the other.

Question time:
Is there any way in the RS5000/M02AS to model the non-linearity of a servo valve? We're using servo valves driving hydraulic motors with SSI motor shaft encoders - from past experience with Siemens systems (I know, dirty word in the thread) we know the command voltage% vs. actual velocity profiles well. In the Siemens system you apply this valve profile as a CAM table that the controller then uses for the axis. Is this possible in the AB system or is the "Axis Properties > Output > Velocity Scaling[0.0]%/(mm/s)" the only place you can enter the speed profile of the valve?
If this is the case - in your previous projects do you think that this is a linear scaling on a non-linear valve has had an impact on performance? Do you have any tips for mitigating any apparent effects?
 
blackisle said:
Is there any way in the RS5000/M02AS to model the non-linearity of a servo valve?
A linearization table isn't built into the controller. It was assumed that servo valves would be used with a servo controller.

In the Siemens system you apply this valve profile as a CAM table that the controller then uses for the axis. Is this possible in the AB system or is the "Axis Properties > Output > Velocity Scaling[0.0]%/(mm/s)" the only place you can enter the speed profile of the valve?
Yes, as far as I know but then it has been many years since I played with one. On our controller we can change these values , output scale and bias, on the fly. More common is to use some sort of gain scheduling.

If you use non-linear valves then you can't auto tune. Auto tuning is made almost impossible because there are so many non-linear functions. The best that can be hoped for is to be able to auto tune the most common non-linear valves such as the Bosch Nic valves with the 20% or 40% piece wise linear valves.

If this is the case - in your previous projects do you think that this is a linear scaling on a non-linear valve has had an impact on performance?
Yes, but it depends on how critical the control is over the range of speeds. It is always possible to simply tune the system well at slow speeds. You said it doesn't make that much difference if the axes 'lag' a bit if they get into position. That may be the case in some applications. Other required fine tracking at all speeds. Over here in the US and Canada we have pushed the valve manufacturers to sell only linear valves. You wouldn't buy non-linear motors would you?

We have debated whether we should add the non-liner scaling. The problem are:
1. Look at the problems people have scaling even a linear device. There are a few that can fill out the non-linear scaling correctly.
2. The valves are much different from the specifications. One of our customers sent a valve that is piece wise linear so that the gain is supposed to change at 40% or 4 volts. In reality the gain changed at 4.4 volts. How is any body going to know without being able to do some sort of test?
3. Non-linear scale table work well IF the velocity doesn't change. The table can correct the control output as a function of control output. What it can't do is correct for the change in control output rate. This isn't a big problem if the system isn't accelerating or decelerating hard but sawmill systems are always trying to break the sound barrier. An extreme example is a valve with an overlapped spool. The frequency response while in the dead band is 0. Any valve manufacturer that advertises a Bode plot in the documentation and doesn't make this fact clear gets a lot of grief from me. I think it is false advertising. Lately I haven't seen any cases of this though.
In some cases a conveyor is being run and only velocity control is required. If the conveyor never backs up then the application can be run on one edge of the spool. The dead band makes no difference. A lot depends on the application.
4. There are linear versions of the non-linear valves at the same price so why buy non-linear valves?
5. It is much easier to auto tune a linear valve. If auto tuning is a feature you want then you should use only linear valves.
6. Even when we have changed the control output scale and bias on-the-fly as a function of the % control output we have found that none if our customers has made it work without a lot of help from us.
7. Some of the non-linear valves are hopeless. They are more than just non-linear, they are slow.

Do you have any tips for mitigating any apparent effects?
Use linear valves.
What valve are you using now?
I can recommend a valve that is linear.

BTW, I should have an article in Design News soon about auto tuning and why it works or doesn't work. I provide an example where I modeled a piece wise linear valve from the actual velocity as a function of the control output over a range of velocities. From this an equation was determined that very closely estimated the velocity as a function of control output , ActualVelocity(CO%). This step is the hard part in being able to auto tune a non-liear hydraulic valve.
 
Last edited:
Thanks for the reply Peter.
We are currently using Star Servo valves from 40L/min to 230L/min
http://www.star-hydraulics.co.uk/AcrobatEbrochures/890-1Q07-En.pdf

This particular application is controlling a large inertia rotary axis and a very large trolley. We take the voltage output from the PLC into a pressure loop card (to improve slow speed stability sacrificing a little fine positioning) and from their straight to the servo valve. We've made quite a few of these machines with S7-Technology PLC's with very good results but this is the first Control Logix project we've completed.
We've been able to get some good tuning done and are fairly happy with the results, certainly production worthy - but I'm on the hunt for perfection!

http://www.blackisle.org.uk/work/valve_profiling.JPG
Is what we typically see from a rough valve profiling. The flat spot in the middle is down to checking the speed from a standing start and is smoothed out in the final profile.
Unfortunately price is always a factor in OEM machine building but we also strive for the best technical solution.

I grabbed a copy of your "Electro-hydraulics Backgrounder" which made very interesting reading!
 
Perfection is sought here too.

Thanks for the reply Peter.
We are currently using Star Servo valves from 40L/min to 230L/min
http://www.star-hydraulics.co.uk/AcrobatEbrochures/890-1Q07-En.pdf
The valve look OK for many applications. The valve looks good up to about 18 hz so if you have slow enough ramps it should be easy. The problem is that there is no linearity chart. Servo valves should be linear and there should be a plot for the linearity. The fact that there isn't a plot leads me to believe this valve isn't linear. If I made linear valves I would boast about it.
If I didn't make linear valves I would not want to bring the topic up. The Parker DF?? series, Moog and Bosh Rexroth valves may be better. After looking at the plot below there are much better valves. You need to weigh the cost of the better valve with the cost of using the Star valve. Can you auto tune that?

This particular application is controlling a large inertia rotary axis and a very large trolley. We take the voltage output from the PLC into a pressure loop card (to improve slow speed stability sacrificing a little fine positioning) and from their straight to the servo valve.
The inner loop should be a force/torque loop where there is a pressure transducer on either side of the cylinder monitoring the pressure. The pressure on each side is multiplied by the area on either side of the piston but on hydraulic motors you can equate the difference in across the hydraulic motor to torque. Torque/inertia=angular acceleration. If you are just using differential pressure then your gains are off by a constant but that probably doesn't make any difference. What does make a difference is that you don't have a target acceleration to compare with an actual acceleration The point is that the difference in pressure is proportional to the angular acceleration. The inner loop proportional gain is acting on the error in angular acceleration so the inner loop because the equivalent of the second derivative gain.

Yes, this makes a BIG difference if the controller doesn't support second derivative gains.

We've made quite a few of these machines with S7-Technology PLC's with very good results but this is the first Control Logix project we've completed.
We've been able to get some good tuning done and are fairly happy with the results, certainly production worthy - but I'm on the hunt for perfection!
You were very wise to use the differential pressure loop. It does add stability and your system may not be stable without it. However, a motion profile usually calculates a target position, velocity, acceleration and in our case jerk every half to one millisecond. The outer position loop can take care of the error in the position with the proportional gain and used the derivative for the error between the target and actual velocity. However, the inner loop does not have a true target acceleration. Hydraulic motors used for position controller can be roughly modeled as integrating ( type 1 ) under damped second order systems. These kinds of system really can't be controlled well with a PID alone. The inner loop/second derivative gain is required if the system is under damped and usually high inertia systems are.

http://www.blackisle.org.uk/work/valve_profiling.JPG
Is what we typically see from a rough valve profiling. The flat spot in the middle is down to checking the speed from a standing start and is smoothed out in the final profile.
Unfortunately price is always a factor in OEM machine building but we also strive for the best technical solution.
I am going to save your graph and e-mail it to our other engineers. A true servo valve should look better than that but as you say the cost is a factor but you are the ONLY person that I know that has done this without our help. Good show. I am impressed. This obviously took some effort and a lot of time. So how does on valve compare to the other. I often see 10% deviations from published specifications.

I am very impressed with what you have done.

I grabbed a copy of your "Electro-hydraulics Backgrounder" which made very interesting reading!
Hopefully you have the second edition. I hope that you found it useful.

Note, we wouldn't resort to the differential pressure trick right off. We can model type 1 underdamped second order system and do a very good job of estimating the velocity and acceleration. We can auto tune the system to get a model. Since we can estimate the acceleration we don't need to use the differential pressure to know the torque and the acceleration. This allows us to calculate the error between the target and actual acceleration for use with our second derivative gain. This allows for accurate target following during acceleration and deceleration too.
 
Thanks again Peter - it's good to hear that we are at least on the right track with the pressure loop card!
I will talk with Star today to see if we can get their stated linearity graphs and do a quick comparison to see how the profiles match.
We also use Moog D661 valves depending on the flows required for the application but see a response similar to the Stars. I'll have a check to see if they publish their linearity - it may be that our mechanical structure or hose/manifold designs are having a larger impact on the recorded performance than the valve itself.

Other profiles:
Rexroth Proportional Valve 4WREE6E32-2X/G24K31/A1V driving a cylinder
http://www.blackisle.org.uk/work/proportional_profile.JPG
The huge dead band in the centre demonstrates the difference between servo/cheaper proportional valves very clearly. This gripper axis is only used for very rough positioning and then used for clamping on a piece so does not need a sparkling response. We do not use the pressure loop card on these axis. The greatest issue we've seen with these is a large overshoot - having never really played with the Velocity Feedforward term (or understood it's value in hydraulic systems until I read some of your tuning notes and backgrounder!) we will pay more attention to this in future. As it stands the axis works perfectly well with the Balluf pulse LVDT and rough tuning/performance needed.

Moog D661 driving a 160mm bore, 90mm rod cylinder which I believe was flow limited judging by the sharp decrease in response after the 40% mark - please correct me if I'm wrong!
http://www.blackisle.org.uk/work/flow_limited.JPG
The large difference in annulus/bore speeds might also point to flow limiting or is the proportion about right for the volume difference? The valve was over proportioned for the speed we required so had no real impact on the contracted performance but I've pointed our technical director at the Backgrounder on valve sizing to try and avoid this issue in future. Calculating the pressure drops in the manifolds/pipes/servo valves seems to be a bit of a black art!

Thanks again for your comments and general information. It's good to know that people are still pushing forward hydraulic and PLC controls when the world + dog seem intent on making everything with electric servo motors. It's also great to see people, like yourself, willing to help others with ideas and information - keep up the good work!
 
Thanks again Peter - it's good to hear that we are at least on the right track with the pressure loop card!
It would be best if the pressure loop was handled inside the controller. Your system must not move very fast.

We also use Moog D661 valves depending on the flows required for the application but see a response similar to the Stars.
The Moog valves should be good. You need to buy the linear valves. What winds me up is when the idiot distributor just wants to get rid of what he has on the shelf and sells a non-linear spool like the progressive spool. See page 4. I like Moog valves but sometimes their lead times are too long.
http://www.moog.com/literature/ICD/Products/Valves/d661-G_Cseriesvalves.pdf

it may be that our mechanical structure or hose/manifold designs are having a larger impact on the recorded performance than the valve itself.
I have wondered how you got that information. The pressure across the valve must be maintained at 70 bar or 1015 psi to do that test properly. Plus you need a oil source that is bigger than the valves you are testing.


Other profiles:
Rexroth Proportional Valve 4WREE6E32-2X/G24K31/A1V driving a cylinder
There are better Bosch Rexroth valves. The linearity and valve response are poor. We have a Bosch NG10 813 valve. The single stage Bosch NG6 and NG10 with linear spools are great.

The greatest issue we've seen with these is a large overshoot - having never really played with the Velocity Feedforward term (or understood it's value in hydraulic systems until I read some of your tuning notes and backgrounder!) we will pay more attention to this in future. As it stands the axis works perfectly well with the Balluf pulse LVDT and rough tuning/performance needed.
If the actuator doesn't need to follow a motion profile then you should be fine. Over shoot is a matter of tuning and quickness of response. For higher speeds you need to use feed forwards.

Moog D661 driving a 160mm bore, 90mm rod cylinder which I believe was flow limited judging by the sharp decrease in response after the 40% mark - please correct me if I'm wrong!
http://www.blackisle.org.uk/work/flow_limited.JPG
Look at the graph at the lower left of page 4 in the link I posted. You can see that the smaller valves are almost perfect linear (y) Only the biggest valve start to roll off too much at 80%.

The large difference in annulus/bore speeds might also point to flow limiting or is the proportion about right for the volume difference?
I would need numbers to determine that.

The valve was over proportioned for the speed we required so had no real impact on the contracted performance but I've pointed our technical director at the Backgrounder on valve sizing to try and avoid this issue in future.
The VCCM equation should be used for that.

Calculating the pressure drops in the manifolds/pipes/servo valves seems to be a bit of a black art!
Yes, the hydraulic manufactures don't provide data on how the pressure drops as a function of low. Everyone must find this out empirically. :(
This is why we have the auto tuning but that doesn't help much if the hydraulic design is already botched.

Thanks again for your comments and general information. It's good to know that people are still pushing forward hydraulic and PLC controls when the world + dog seem intent on making everything with electric servo motors.
We can do servos too but we have been long time players with hydraulics. There is a place for both servo hydraulics and motors. Hydraulics have advantages with larger loads, applications with shorter duty cycles and press type of applications.
 

Similar Topics

I'm looking for some idea of what the standard is for Hydraulic Servo Motion with Allen-Bradley. What is the most common setup to use? I have 4...
Replies
7
Views
2,324
Dear community, I am trying to find a tool for Allen-Bradley PLCs similar to SiVArch for Siemens PLCs to automatically generate faceplates and...
Replies
0
Views
40
Hi everyone, new to forum. Since very long time i having issue with 1734-AENT module, after some period of time its keep stuck in error (simmilar...
Replies
5
Views
227
Hello, I am new here. I am trying to find good places to sell some surplus items that I have that isnt through ebay. Does anyone have any sources...
Replies
5
Views
333
Hi all, installed on chassis A17 an A/I from Allen-Bradley , problem is what ever I do , all channels are sticked on value 39.9 and cannot change...
Replies
1
Views
131
Back
Top Bottom