Ich verstehe den integralen Bestandteil des PID-Reglers nicht. Nehmen wir diesen Pseudocode aus Wikipedia an:
previous_error = 0
integral = 0
start:
error = setpoint - measured_value
integral = integral + error*dt
derivative = (error - previous_error)/dt
output = Kp*error + Ki*integral + Kd*derivative
previous_error = error
wait(dt)
goto start
Das Integral wird zu Beginn auf Null gesetzt. Und dann wird der Fehler über die Zeit in die Schleife integriert. Wenn ich eine (positive) Sollwertänderung vornehme, wird der Fehler positiv und das Integral "frisst" die Werte über die Zeit (von Anfang an). Was ich jedoch nicht verstehe, ist, dass wenn sich der Fehler wieder auf Null stabilisiert, der integrale Teil immer noch einen bestimmten Wert hat (integrierte Fehler über die Zeit) und weiterhin zum Ausgabewert des Controllers beiträgt, dies sollte jedoch nicht der Fall sein, denn wenn der Fehler Null ist, Ausgabe von PID sollte auch Null sein, richtig?
Kann mir das bitte jemand erklären?