PID Loop

Fundamentally, the process variable is the flow, the setpoint is your desired flow, and the manipulated variable is the VFD speed. You should have an analog input for the flow and an analog output for the speed control.
 
Have a look at the SLC500 Instruction Reference here.

Chapter 9 deals with the PID Loop. Pay attention to the PID Input and Output Scaling, and the PID Update Time Settings.

The SLC has an ISA PID, so smaller Integral and Derivative values give more action.

Stu....
 
This is a basic tuning method I use that has worked well in the past.

First, set your PID variables to Kc=1, Ti=0, Td=0, your loop update time to TIMED. Your control mode is like a heating application (more output=more input), so you'll want a reverse-acting loop (E=SP-PV). Set your loop update time to 5.00 seconds.

Get your process stable. Switch the PID to manual and put the drive at 50 percent or so. Wait until your output stabilizes. When it's stable, change the setpoint to something higher than what you're currently getting and place the PID in auto. Watch what happens. If the PV (your input) gets closer and closer to the setpoint but never quite "gets there" you don't have enough proportional gain. If it overshoots the setpoint and "bounces" on the setpoint, you have too much gain. Place the PID back in manual, adjust the proportional gain accordingly, wait for the process to stabilize, and place the PID back in auto. Keep doing this until you see the PV oscillate on the setpoint. So if you were to graph it out (this is why I like the customer graphical monitor in RSLogix 500), your setpoint would be in the middle and your PV would look like a sine wave going above and below.

Once you get the flow to oscillate evenly, note how much time one oscillation takes. This is called the "natural period." Convert that time to minutes and this will be your Ti (integral) value. 1/8th of your Ti will be your Td (Derivative) value. Your Loop update time should be at least 5 to 10 times faster than your natural period. Finally, half of the Kc (Proportional) gain you have to make the input oscillate will be your final Kc number.

So let's say you get the input to oscillate around the setpoint. It takes 30 seconds for one oscillation when your Proportional gain is at 5.

So your final numbers will be Kc=2.5 (1/2 of 5), Ti=0.5 (0.5 minutes, or 30 seconds), Td=0.06 (1/8th rounded of Ti)

These may not get you to have "perfect" control, but it will get you close enough to be able to start tweaking things around.

Your Kc number is a gain, meaning "how much do I adjust when there's an error". The Kc will adjust more the further you are away from the setpoint, and less the closer you are to the setpoint. Bigger number = bigger adjustments overall.

The Ti term looks at where the PV was compared to the last time it checked, and if it hasn't moved to the setpoint fast enough, it adds a little "boost" to the CV to get it to the setpoint. The bigger the number, the longer the period of time between these checks, and the less effect it will have on the loop. Bigger number = less effect and vice versa.

The Td term is like the Ti term, except it wants the opposite of Ti. It wants the PV NOT to change regardless of how far the PV is from the setpoint. It's useful for reducing overshoot, since the ideal process the PV will approach the SP and eventually equal the SP without overshooting it. In the example, the Td is looking at where it was compared to the last check 0.06 minutes before. If it isn't flat, it adjusts the CV (lowers it in this case) slightly in order to anticipate reaching the setpoint. It wants the PV to "glide" into the setpoint like plane making a nice, smooth landing as opposed to just crashing into it. Some engineers don't use the Td term because they may find it's "more trouble than it's worth." If you can tune a process perfectly using only the Kc and Ti terms, there's nothing wrong with that of course. But anyway, like the Ti term, the Td term is Bigger number = less effect and vice versa.


NOTE: My description is based solely on how the PID in a SLC works. Other platforms may work differently.
 
Last edited:

Similar Topics

Hello, I am attempting to tune a PID loop on a process. The process involves a valve with electronic actuator that has quite a high deadband...
Replies
10
Views
2,177
We have a PID loop at the plant that measures our drum outlet temp. It adjusts a damper to control the temp within the set point. We have a...
Replies
8
Views
1,416
Hello All, Has anyone on here used Soft PLC brand PLCs? I've just now started doing PLC programming and I am totally stuck on trying to make a PID...
Replies
4
Views
1,551
Hello and thanks for reading my question/problem. I am working on an a application where I have a servo controlled gate that allows product (dry)...
Replies
14
Views
2,765
Hello All, I am trying to figure out the best way to control a system I am working on. I have 2 bags of peanuts being lifted up by hoist. I am...
Replies
23
Views
4,735
Back
Top Bottom