Feb
15

The Secrets To A Pain-Free PID Controller Upgrade

If you’ve ever had to change the type of controller on a PID loop (for example because the old one is obsolete), how can you be sure that the new one will control the process just like the old one?

The reason this is not a trivial exercise is covered in the PID Controller Article here.

But if it is absolutely critical that the new controller works first time, and you haven’t got the option of tuning it from scratch, then the answer is to make sure that both controllers behave exactly the same in open-loop before fitting the new one as I explained to Paul from NSW, Australia who contacted me recently:

I would like to know if you can offer some insight into an issue that I have. I currently have a process that
is running with a software PID controller in a Hitachi PLC.

I am in the middle of planning an upgrade to this control system, to a Siemens S7-300 and I was planning on using the Siemens PID block in the PLC to achieve the same process. The process operates fine at the moment and I just want to use the same constants and insert them into the Siemens block, the formulas for both blocks are the same but the problem is the I don’t know what units the obsolete and unsupported Hitachi block uses for Integral and Derivative.

Have you ever come across this before and how would I convert them into meaningful time based values?

This was my reply

——-

Hi Paul,

I had the same problem once when replacing the controllers on a
nuclear reactor (seriously!).

So it was quite important that the new controllers worked first time.

What I did was wait until the plant was shutdown (or you could use a
spare if there is one) and disconnect all the I/O from the old
controller except the setpoint input.

Then I measured the controller output (MV) for a fixed step input.
Once with just P control, and again with PI control.

If you understand how the P and I are calculated you can look at the output traces and work out the
constants in engineering units:

For example the output will be a constant gradient ramp and if it increases by the [step x P Gain]
every 5 seconds you’ve got 5 seconds-per-repeat.

You can do the same on the new controller to check that it responds exactly the same way
as the old one before fitting it.

As long as you can prove that both controllers give the same outputs for the same input, you will be able to ‘plug and play’ the new PID Controller.

Cheers,

Finn

Feb
4

PID Auto Tune is Evil – It’s Official!

Only 1 out of 5 vendors was any good

Only 1 out of 5 vendors was any good

Great Article in Control Engineering this month.

To cut a long story short it found a huge variety in the performance of Auto Tune and Adaptive Tune for PID Controllers.

I don’t know about you, but I don’t like to depend on things that are out of my control if I can at all help it. The problem with these algorithms is that they are closely guarded proprietary black boxes, so you don’t know how the hell the controller is controlling your critical processes – you just have to ‘trust’ the sales rep when he tells you how great it is. And then you only have a 1 in 5 chance of gettiing one that has half a hope of working!

But my biggest problem with these ‘features’ is that they depend on closed loop tuning which is a crock of @#$! to put it mildly. Closed loop tuning masks all sorts of process characterisitics that ou need to know to do good tuning.

Some interesting quotes from the article (my emphasis):

In a plant environment, if auto-tuning the process does not provide stable control, an expert can usually tinker and tweak until stability is achieved. However, users do not always have such a luxury. Auto-tune functions must be effective since PID experts are scarce and product quality is normally directly related to process variation.

My response 1: “Experts Tinkering and Tweaking!” Noooooo! If the guy tuning your controller thinks that “Tinkering and Tweaking” is the way to tune a loop then kick him off your site before he completely screws your process. *Real* experts will take the correct measurements from your open loop process and then calculate tuning constants that eill work first time, every time.

My Response 2: “PID Experts Are Scarce” Why? If you have multiple interacting loops then someone who can devise a strategy to control those loops in harmony is worth his weight in gold and rare as rocking horse crap – BUT – for tuning single loops – sorry gyus but it really isn’t very difficult if you know how.

Finally some really scary statistics from the article:

more than 30% of all factory PID control loops are operating in manual rather than automatic mode. To make matters worse, of those loops operating in automatic mode, 65% produce less variance when in manual.

Wanna increase your revenues in difficult times? Tune your frickin loops properly! It’s not that difficult.

This reality is possibly due to a dearth of personnel having sufficient know-how to tune and optimize a PID loop

I could point these personnel to a book that can solve that propblem in a couple of hours ;-)

Jan
16

Gain Scheduling for PID Loops

I recently had a query along the lines of:

Our controller has a table of P, I and D gains that our controller uses in different [load] conditions. Will your tuning methods work with this kind of setup?

The short answer is: Yes, you could do an open loop test for each set of conditions and put the different PID values in your table.

But…

Changing the PID parameters to suit changing loads or disturbances is known as “Gain Scheduling”. In my experience 99% of gain scheduling applications are merely band aid for crappy Trial and Error Tuning.

I find that using a scientific, open loop, tuning method will usually leave you with a loop that can cope with a very wide variety of changing conditions, meaning the complex gain scheduler can be dumped.

Has anyone got a process that they think wouldn’t work without Gain Scheduling? Let me know, we’ll try to tune it with the PID Tuning Blueprint and see if afterwards the gain scheduler can’t be thrown in the bin!