Manual Tuning of PIDE Loops

zappasworld

Member
Join Date
Mar 2011
Location
Ashby de la Zouch
Posts
4
I have a Logix PLC running with PIDE loops that were autotuned during commissioning.
I now need to retune the loops, but cannot run the stepped autotune again as the system is running on live product.

The PID terms appear to have no resemblance to the "Traditional PID" terms, and having tried trimming them, found that even slight changes to the P term made the loop skittish and unstable.

Any suggestions how to trim these PIDE loops by hand.

Thanks
 
Welcome to the Forum !

The Logix function-block PIDE is a "velocity form" of the PID equation, which is what you generally see in a DCS system. The ladder-logic PID is the "position form", which is more like the traditional PLC/SLC instruction.

The best starting resource for PIDE is the Process Control Instruction Set Reference, Publication 1756-RM006.

I also like the treatment of Logix PID loop functionality in the "PID Instruction White Paper", Publication LOGIX-WP008.

If you are finding dramatic behavior changes with very small gain changes, the first thing I'd look at is the timing and execution of the PIDE equations. The most common method is to execute the Function Block Diagram routines in a Periodic Task and set the PIDE to adopt the Task period as the time interval for the equation. I have seen very unstable loops that ignored this fundamental principle and had to start from scratch with them.

Any systemic tuning effort starts with a thorough description of the system, and any programming effort starts with specifics about the program. PIDE is too complex to be adequately described with screenshots, so start with Ron's recommendation to post the *.ACD file.
 
Attached is a copy of the code.
I have gutted it down to just the PIDE relevant parts.
The base code was inherited as a site standard and so didn't have much room to play.
The PIDEs are in a 500ms timed interupt, but I couldn't see where to enter the period in the PIDE setup.
The layout looks a bit odd as the auto/manual setpoints are unconnected. These were mapped in another file to allow an existing user faceplate on a scada to override the PID.

I have been manually tuning standard PID loops now for about 15years but these caused me a real headache.

Cheers
 
Not at the site in question until next week.
Have to try and get some trends captured.

Should the loops with a "Velocity" algorithm react in a similar way to the traditional PID terms i.e using P for Linear error, I for Static correction etc.

Also, is there anywhere on the PIDE setup to enter the scan period (500ms)

steve
 
It depends on what you mean by 'traditional'

Should the loops with a "Velocity" algorithm react in a similar way to the traditional PID terms i.e using P for Linear error, I for Static correction etc.
The ISA algorithm uses a controller gain and an integrator and derivative time constant. This is much different than PIDs, usually motion PIDs, that use a proportional, integrator and derivative gain.

The difference betweent the 'velocity' and the 'position' ([rant] I hate those terms because the loops have nothing to do with being better for velocity or position[/rant]. I prefer incrmental and absolute) modes is small if the control output is not saturating AND the loops are tuned correctly. The incremental mode requires the integrator term be tuned correctly. Most people don't turn the integrator gain up high enough to use the incremental mode effectively.
 
Thanks

Thanks everyone for their suggestions.
Will give it a try early next week..

Guess I will just have to use more integral than I have been used to and not be too wary.

Cheers:beer:
 
When you choose "Periodic" timing mode instead of Oversample or Real Time Sampling, the PIDE adopts the execution rate of the Task that it is within as the delta-T value for the equation. That's the default, and it's what is in your program.

You can define a Function Block Diagram as the Main Routine for a Program, even though a ladder logic routine is the traditional (and default for the pre-created Main Program -> Main Routine) first routine that calls the FBD. I often have some RLL that needs to be executed as well, but if your Program is pure FBD, just assign the FBD routine as the Main Routine for the Program.

Peter's suggestion about the words "incremental" and "absolute" is well-taken. I know that when you're looking at a chemical process or flow/level control that words that belong in basic dynamics can confuse people.

His explanation about the ISA algorithm is also good, and it leads to the PIDE's support for Independent and Dependent Gains. There's nothing exotic about this; Proportional Gain is still unitless and Integral and Derivative are still time constants in units of 1/Min and Minutes.

I mentioned the execution rate because I recently encountered a system that had been running for years on a PLC-5 with the PID instructions executed every scan, and most of the time intervals set for 100 milliseconds in the instruction.

They worked by coincidence because the PLC-5 was so heavily loaded that it's total scantime was about 100 to 110 milliseconds. Some of the instructions were configured for 1 second time interval, so their tuning parameters were "way out of whack".

When we converted to ControlLogix the scantime went down to about 10 milliseconds so all the loops began overcorrecting and oscillating.

Instead of just "dividing all the gains by 10" or attempting to re-tune twenty loops during a one-hour shutdown, I moved everything to a 100 ms Periodic Task and that emulated the PLC-5 timing enough to make the system run.

The experience (and countless similar ones reported by Tech Support) made me sensitive to this basic configuration issue and even more appreciative of controllers that don't allow you to make a mistake (like the brilliant TI-505 loop solver that was separate from the logic solver).
 

Similar Topics

Hello Guys, I'm working on Honeywell HC900. I am using the PID block. I have attached the Switch and loop block to it as well. I have attached a...
Replies
2
Views
636
Hi, I'm assisting a friend remotely with a VFD he's planning on buying and looking for a manual before hand to start planning. It's a Vikye. The...
Replies
3
Views
937
This may be a long shot, but would anyone have paperwork on the Nedap 3.5 KW Driver ( Ballast) UV lamp ballast Modbus can communicate with the...
Replies
0
Views
370
Hello all, I have an old machine that utilizes two FEAC PC-116-24 controllers used for position monitoring and output to an OMORM CQM1 PLC. I did...
Replies
1
Views
630
Hi. I am trying to understand some old code for B&R 2005 PLC created in PG2000 software. There are procedures concerning axes but I cannot find...
Replies
2
Views
722
Back
Top Bottom