G
Hey guys,
I'm having a bit of trouble figuring out how this PID block works in one of my controllers.
I've simulated an output with this using just a P controller, but I'm getting rattled on this "I0" parameter which keeps tripping me up.
P=1;
Here's how I've tried it:
I've got a SETPOINT of 50, and a MV (my measured feedback from a pump) of 0. The output of my controller immediately shows 50 since P=1 and OUT=KP*E. As my MV climbs, the output of my controller gets smaller since E does as well.
Now here's the problem: when I switch my controller to "TRACK OFF", the value of OUT prior to this event is stored in IO. The issue is, this value is negative for some reason. So when I switch back into tracking, the value of my output for a MV of 0, a SETPT of 50, is 0. Since OUT=KP*E+IO ; and IO=-50.
So what gives? That means if I switch my controller to manual mode right with an ERROR of 50, then put it back into automatic, then my controller won't generate an output because IO is negative...
What am I misunderstanding here? Shouldn't IO be positive?
I'm having a bit of trouble figuring out how this PID block works in one of my controllers.
I've simulated an output with this using just a P controller, but I'm getting rattled on this "I0" parameter which keeps tripping me up.
P=1;
Here's how I've tried it:
I've got a SETPOINT of 50, and a MV (my measured feedback from a pump) of 0. The output of my controller immediately shows 50 since P=1 and OUT=KP*E. As my MV climbs, the output of my controller gets smaller since E does as well.
Now here's the problem: when I switch my controller to "TRACK OFF", the value of OUT prior to this event is stored in IO. The issue is, this value is negative for some reason. So when I switch back into tracking, the value of my output for a MV of 0, a SETPT of 50, is 0. Since OUT=KP*E+IO ; and IO=-50.
So what gives? That means if I switch my controller to manual mode right with an ERROR of 50, then put it back into automatic, then my controller won't generate an output because IO is negative...
What am I misunderstanding here? Shouldn't IO be positive?