RS5000 PID Instruction Assistance

I would use a pressure compensated pump. This is pump that has a swash plate that adjusts the stroke of the pistons as a function of pressure so as pressure drops due to increase demand the stroke of the pistons in the pump is increased to generate more flow. As the flow demand decreases the pressure will rise and the piston stroke will go back to a neutral position. This keeps the pump from pumping more oil than what is necessary and wasting oil/energy over a relief valve.

That is exactly the type of pump being used (see attached PDF). So based on your feedback, it would seem that the main pressure relief valve is extraneous? Be that as it may, this what I have to work with and need to make it work as this equipment is already manufactured. It would seem that I may be working from under the train on this one. So if I have my PID instruction configured correctly, I will proceed with testing and post my results. If not, I will change my configuration to adjust the main system PSI in steps (say of 100psi or so).


You hydraulic designers are clueless and you shouldn't trust them and chances are you will end up under a train. You don't need to believe me but ask them this... How fast will the pressure change in the pipe between the pressure control valve when one of those proportional valves open? How fast is that relative to response of your 20ms PID update? I can stump almost all hydraulic designers with this simple question. Actually, I have found only one person that can answer that question, surferb from this forum and he isn't a hydraulic designer.

Indeed this may be the case, but I assure you it isn't intentional and may just be due to lack of experience in the industry. FWIW, the proportional valves being used are very expensive and are very responsive to abrupt pressure changes based on corresponding control signals. They are using a newly released Lynch proportional driver.
 
Ok, I think I get it now. It seems to me from the information you have listed so far that the proportional relief valve is actually located in the pump and is allowing you to set variable pressure control there. The relief valve in effect sets the pressure point for the swash plate regulator. So this looks OK.

You may want to confirm that the hydraulic designer included an accumulator in the system.

Using the PID isn't going to hurt you any as long as you use a good amount of pressure feed forward. This is what I was referring to when I was talking about the bias value before. If you allow the PI loop to generate the total of the pressure setpoint you may have to wait longer than you want for the desired pressure to be reached.

Are the secondary valves driven from the plc? If so, you may be better off doing coarse/fine movement in the plc. If you are looking for coarse motion allow a 0-100% operator input to equate to a 0-100% secondary valve command. If you want fine control allow a 0-100% operator input to equate to a 0-10% secondary valve command. If you try and do coarse/fine control by varying pressure you may have a hard time getting linear operator input response, especially on the tilt axis where (presumably) cylinder load will change with tilt angle. By keeping the pressure high you will have a more uniform flow over a larger force range.

You can also do coarse/fine control through a non-linear operator input to valve command mapping. If you do something like Output% = Input%2 then a 10% operator command will result in a 1% valve command, a 25% input will result in a 6.25% command and a 50% input will result in a 25% command. Yet a 100% input will still result in a 100% command.

The way it looks to me you probably have all the pieces in place to do what you want. It's just how you use these pieces that will make the difference.

Keith
 
I am going to wait until more facts and specifications are given

My solution would be to use one of our motion controllers to control all the valves and the pump. Since the controller knows the flow through all the down stream valves at any millisecond it can instantly compute a feed forward value for the pump as well as do the normal pressure closed loop control. This way the pump can be told to increase flow before the pressure drops. This will reduce the need for a big accumulator unless the pump is so slow that it makes no difference how it is controlled. The motion controller can do all the calculations much faster and deterministically than a PLC and it has faster I/O to respond to quick pressure changes.

If the pressure drops 100 psi in a millisecond will the PLC analog inputs detect this? Probably not, let alone taking into account the scan time of the PLC.

This would be easy if it was done right. You still may be lucky. It depends on how tight your specifications are and what happens when the valves shut or open and cause pressure fluctuations.

Indeed this may be the case, but I assure you it isn't intentional and may just be due to lack of experience in the industry.
So if you get thrown under a bus or train unintentionally are you any less dead?

Keep us informed, setting up the PID is the least of your worries.
 
On a loosely related note...

Originally posted by Peter Nachtwey:

Since the controller knows the flow through all the down stream valves at any millisecond it can instantly compute a feed forward value for the pump as well as do the normal pressure closed loop control.

In the cases where you have done this how much smaller can you go with the accumulator compared to the more typical pressure compensated variable displacement pump (PCVDP) method? Your statement infers that the motor/constant displacement pump (MCDP) method is more responsive than the variable displacement pump method. I suspect this is mostly due to the ability to calculate an effective feed forward. How much faster is the response? Is the open loop response of the MCDP combination better than that of a PCVDP? Is there a cost savings, a performance gain or both?

Keith
 
Thanks a lot for the replies guys. I really appreciate it. I was mainly concerned with how my PID instruction was configured, particularly the set point I was sending to the PID above my nominal pressure range and the specific scaling I was using. Though as Peter pointed out, this would appear to me the least of my worries. Whether or not this is the best solution will remain to be seen. Right now with the equipment I have, it is what it is.

The secondary valves are also PLC driven (analog). I have those configured to respond on a 1 to 1 ratio based on operator input. So 50% on the controller would correspond to 50% on the appropriate prop. valve. I have the input/output data range configured in the analog cards as percent values to accomplish this. And as you pointed out Keith, I can scale this very easily in the PLC if need be to adjust the amount of fine or coarse control required based on testing. One of the challenges, as you mentioned, will be making movements at critical angles where the forces developed will require a lot of torque. That is where the system will need to respond fairly quick. I look forward to testing this and with your help, I think I have my PID instruction configured correctly. I will report back with my results.

Peter, I would have to agree with you that under the bus, you aren't any less dead. LOL (n)
 
OK. I'm just going to toss this out one last time and let you run.

If you want to use variable pressure commands to the relief valve, be very careful how you develop the setpoint. The way you are talking about doing it in your posts (take the larger of the two pressures across the controlled axes) can very quickly become a self-fulfilling proficy. You probably want to add 200 PSI or so to the value you measure before sending it as a setpoint or you could end up with your setpoint following your output down to the minimum pressure allowed.

For example, assume you are at an 1500 PSI. You get to a point where you need the 1500 PSI to continue but because of resolution, sensor drift or system losses you can only generate 1450 PSI differential across your cylinder. You won't ask for more pressure at that point. No matter how you look at it you can't generate more pressure than you are commanding.

You may have already accounted for this. I can't open your plc file. It must be version 17 or later.

Good luck.
Keith
 
Friday night quiz

In the cases where you have done this how much smaller can you go with the accumulator compared to the more typical pressure compensated variable displacement pump (PCVDP) method? Your statement infers that the motor/constant displacement pump (MCDP) method is more responsive than the variable displacement pump method.
Actually there probably isn't much difference between the two since the pump can be controlled electronically too. Usually the pump simply has a proportional band where the pressure pushes against a spring to control flow to the swash plate. How crude.

I suspect this is mostly due to the ability to calculate an effective feed forward. How much faster is the response?
Like I said, most pressure compensated pumps only have a proportional band. They will not come fully on stroke unless at the bottom of that proportional band. In PLC control the integrator time constant is measured in minutes not seconds so it is not much help if demand changes quickly.
However in knight1fox3's case he can calculate a feed forward for the pump he has now and he should do so. A motor driven pump can respond faster mostly because of the controller not being a simple proportional band controller.

Is the open loop response of the MCDP combination better than that of a PCVDP? Is there a cost savings, a performance gain or both?
Keith
That depends on which ones you are comparing. In general I would say a servo motor controlling a pump would be best but then there is another performance limiting problem.

Just because you can spin up a VFD or servo motor quickly doesn't mean you should when driving a hydraulic pump, why? The Friday night question.


I was mainly concerned with how my PID instruction was configured,
There are dozens of people that can help you with that and even if you screwed it up it can be fixed quickly. Few can design a hydraulic system correctly and if it is screwed up it takes a lot of time and money to fix.

it is what it is.
You don't how much I hate hearing that. BOHICA!
 
UPDATE

So based on the recent posts in this thread, I've had the opportunity to test my hydraulic application with the PID instruction I requested assistance with. Since I'm not very familiar with using PID instructions, I'm not sure if what I'm attempting to accomplish will work with a PID. Without flooding this post with extraneous and confusing details, basically this is the way I had thought it might work:

-initialize my system pressure to approx. 1500psi, manually
-once the pressure demand increases past 1500psi, enable PID instruction
-set-point of PID is now the value above 1500psi
-PID instruction will adjust output to the level demanded

Presently I am only simulating so it is difficult to raise the pressure and instantaneously input the feedback pressure. However, once I input the feedback pressure, the PID output level remains constant. Again, I may need to tweak my scaling or my gain. Going to continue simulating. Any feedback would be much appreciated as always. I can attach my program if need be but I didn't want to introduce any extraneous details of my application.
 
UPDATE

So based on the recent posts in this thread, I've had the opportunity to test my hydraulic application with the PID instruction I requested assistance with. Since I'm not very familiar with using PID instructions, I'm not sure if what I'm attempting to accomplish will work with a PID. Without flooding this post with extraneous and confusing details, basically this is the way I had thought it might work:

-initialize my system pressure to approx. 1500psi, manually
-once the pressure demand increases past 1500psi, enable PID instruction
-set-point of PID is now the value above 1500psi
-PID instruction will adjust output to the level demanded

Presently I am only simulating so it is difficult to raise the pressure and instantaneously input the feedback pressure. However, once I input the feedback pressure, the PID output level remains constant. Again, I may need to tweak my scaling or my gain. Going to continue simulating. Any feedback would be much appreciated as always. I can attach my program if need be but I didn't want to introduce any extraneous details of my application.

UPDATE TO UPDATE :)

Making much better progress today. I'm getting meaningful results based on my assumptions above. I'm able to bring my system to pressure manually with the PID instruction and then I have a deadband zone where the pressure just holds constant. Once the pressure demand increases above a specific setting, the PID is put into AUTO mode in which it ramps up the voltage to my prop. valve. I have a dummy tag created in which I can manually input the pressure feedback to the PID. Once I input the correct (scaled) value, the PID instruction ramps the voltage to 0 which puts the prop. valve at neutral. Just a few more things to tweak and I should be able to test with my equipment. I'll post back with results for those that are interested. (y)
 
Originally posted by knight1fox3:

Once I input the correct (scaled) value, the PID instruction ramps the voltage to 0 which puts the prop. valve at neutral.

You might want to check if that is what you want. In the cases where I have used proportional pressure relief valves if you set the command to zero the pressure value will go to either minimum or maximum depending on how it is implemented. I think you want the command to freeze at it's current value if you are at setpoint.

Keith
 
You might want to check if that is what you want. In the cases where I have used proportional pressure relief valves if you set the command to zero the pressure value will go to either minimum or maximum depending on how it is implemented. I think you want the command to freeze at it's current value if you are at setpoint.

Keith

Thanks for the response Keith. Here is a bit more info. On main pump start up, I use the "set output" bit and the PID in manual mode to put the prop. relief valve at 50%. Once the system attains the specified pressure, say 1200psi or so, I use the "set output" bit and send that 0. Since at this point there is no motion, the system will remain pressurized. If the pressure decays to say 600psi, the prop. valve will receive 50% again until it builds back up. Now lets say motion is initiated, and the system needs 2000psi (800 differential + nominal 1200). That 2000 now becomes the setpoint and the PID is put into auto mode. The prop. pressure relief valve will get a full 100% until the pressure transducer indicates the system is at 2000psi. Now the motion has stopped and with 0 differential + nominal, the system only need be at 1200psi. Hmm...I see a problem though because the PID would have to receive a new setpoint of 1200. I'm also not sure if my gain is set correctly. Back to testing...
 
Hmm...I see a problem though because the PID would have to receive a new setpoint of 1200. I'm also not sure if my gain is set correctly. Back to testing...

Ok I think I fixed that. Now after the system is initialized at 1200psi. The PID will be set to 0 (still in manual mode). If the pressure demand + the nominal exceeds 1200, this becomes the setpoint of the PID and it is put in auto mode. I see the PID instruction send a 100% command to my prop. pressure relief valve. Once it reaches that value (my process variable), the PID goes to 50%, which seems weird. After a time, no matter what value I put in as my process variable, the PID stays at a constant 100% output. Which is certainly not what I want to happen.
 

Similar Topics

This is the first time I am trying to use a RSLogix 5000 PID and my lack of understanding this is version of a PID instruction is driving me...
Replies
18
Views
21,201
I'm trying to control a slow process where we only get an updated PV every 5-10 minutes. Right now we do a pseudo-automatic control that works...
Replies
7
Views
3,345
Hi Guys I have a cooler using evaps to set up PID to control the humidity. I put ugly step logic in it but although it works (+/- 4% humidity...
Replies
0
Views
1,078
Hello all, I am new to 5000 and am trying to set up a PID block. I need to control fan speed VFD using a temp indication. I have the temp coming...
Replies
11
Views
2,037
Good Morning, This may be an easy question for some...but I'll need a little guidance. I have a project where under a particular condition I...
Replies
2
Views
1,612
Back
Top Bottom