AB Micro850 PID Problems (CCW IPID Block)

lolproe

Member
Join Date
May 2013
Location
Canada
Posts
11
Hey guys, I have no real experience with PLCs or PID control, but I was given a project that involves both and don't know anyone who can help me out with my problem. I'm using an Allen-Bradley Micro850 and programming it using Connected Components Workbench just for reference.

I'm having lots of problems getting a PID loop to work properly. I currently have a small test set up. One analog output from the PLC is hooked up to an incandescent lightbulb through a control relay, so a 0-20mA signal alters the power the bulb gets. This works no problem, and as I alter the PLC output from 0mA to 20mA, the light bulb gradually brightens as it should. I also have a thermocouple sitting on top of the bulb connected to the PLC, so it's probably pretty clear what I'm trying to do. I'm just trying to regulate the lightbulb temperature by changing how much power is being sent to it. It's a pretty simple setup, but I thought it would be good enough to give me an introduction to PID control before working on my actual project.

My problems begin when I actually try to do any controlling. I think I'm having a problem fundamentally understanding how a PID controller works, or at least how to get it working on my PLC. In fact, I can't even seem to get a proportional controller working well. I'm using the IPID block built into CCW, and that parameters I've chosen make sense to me. I can give them specifically/upload my program if anyone wants to take a look at it though. Also, Appendix G in the manual outlines all the parameters for the IPID block, so if anything there suggests where I might be messing up it would be helpful to me.

My problem is essentially that the P-only controller is dealing with error on the wrong side of the setpoint. It's currently working like this:

  1. When the temperature is below the setpoint, the IPID block outputs 100%
  2. When the temperature reaches the setpoint, the IPID block output begins to fall (proportional to how far above the setpoint the temperature is) and eventually reaches zero (light-bulb off)
  3. The temperature of the bulb continues to rise, reaches its peak, and then begins to fall towards the setpoint. The bulb is still off during all this
  4. Once the temperature falls back to the setpoint, the IPID output starts increasing again, proportional to how far below the setpoint the temperature is
  5. The whole process repeats again and again

It's probably pretty clear why this is a problem. The PID block isn't really acting like a PID controller at all, at least not as I understand them. It's essentially acting as an on-off controller, but with the controller gradually easing the output into it's on and off states. When the temperature is rising towards the setpoint, I want it to reduce the output based on how far below the setpoint it is, not to wait until it's already at the setpoint and then change it. Likewise, when the temperature is falling towards the setpoint, I want the increase the output proportionally to how far above the setpoint it is. This is how I understand that proportional control would work in this case, but I can't find any way to set it up like this in CCW. The only thing I see is the "DirectActing" gain parameter, which changes the direction the output moves. I currently have this set to false, and setting it to true causes the entire operation of the PID controller to reverse. As an example, when the temperature is above the setpoint, the controller tries to increase the output to lower the temperature. Obviously this isn't what I want.

If anyone has any ideas it would be much appreciated. As I said, I really have zero experience with all this stuff so I'm probably overlooking something very simple. If anyone has any experience with PID control using CCW that would also be very useful.

Thanks
 
I'm not sure if double-posting is okay here, so sorry if this is against the rules. I can't really see any anywhere so I guess it's okay.

Now that I think about it, I guess my understanding of proportional control is wrong. I said that I would ideally like for the controller to gradually reduce the output as the temperature rises towards the setpoint, and gradually increase the output as the temperature drops toward the setpoint. This wouldn't really work unless the controller knew the direction the temperature was moving (output should be 0% at setpoint if rising, but 100% at setpoint if falling) so there needs to be a derivative involved somewhere. Even if this type of control isn't possible, it still doesn't explain the problem with my proportional controller to me. As far as I can tell though, this type of control would work:

  1. As the temperature approaches the setpoint, the output decreases proportionally to how far below the setpoint the temperature is
  2. When the temperature reaches the setpoint, the output is zero, the temperature rises, peaks and then falls back down to the setpoint
  3. Once the temperature reaches the setpoint, the proportional action kicks in again, and as the temperature falls further below the setpoint, the output increases proportionally to bring it back up

This would work, and so would the opposite, where it only reacts proportionally above the setpoint. The problem with my current controller is that it's reversing which error the output is proportional to, except to the entirely wrong ones on both sides.
 

Similar Topics

Long time listener, first time caller. I have a Micro850 PLC controlling the temperature in seven fermentation vessels at a local brewery. Each...
Replies
2
Views
2,577
Hi guys, I'm using AB Micro850 PLC. I need a PID function: the one available in the function library doesn't work at all (At least to my...
Replies
8
Views
3,090
HI everyone! I am trying to use a Micro850 to control a SureStep (Leadshine) Stepper drive (DM805-AI) from Automationdirect. I have no trouble...
Replies
7
Views
158
Hi guys, I have had some issues with uploading a program from a Micro 850 PLC. This is the first time connecting so I don’t have a file on my...
Replies
8
Views
264
Back
Top Bottom