FUNCTION_BLOCK PID
Repräsentiert einen PID-Regler
Der PID-Regler selbst misst die verstrichene Zeit zwischen zwei Aufrufen, allerdings mit einer maximalen Genauigkeit von Millisekunden. Das könnte bei kurzen Zykluszeiten zu einem unruhigen Lauf führen. Beispielsweise kann der PID bei einer Zykluszeit von 1 ms manchmal 2 ms, manchmal 0 ms messen. Wenn es möglich ist, verwenden Sie für solche Fälle besser den Funktionsbaustein PID_FIXCYCLE, bei dem die Zykluszeit genau eingestellt werden kann. Siehe PID_FIXCYCLE
Beachten Sie, dass die Reglerparameter nur dann angewendet werden, wenn sie im Handbetrieb bei einem Start, bei einem Reset oder bei einem Umschalten verwendet werden.
Ein PID-Regler berechnet fortlaufend den Fehlerwert e(t) als Differenz zwischen dem vorgegebenen Sollwert und einer gemessenen Prozessvariablen. Der PID-Regler führt eine Korrektur aus, basierend auf einen Proportional, einem Integarl- und Differenzialglied (manchmal entsprechend mit P, I und D bezeichnet), die dem Reglertyp den Namen geben.
P berücksichtigt die aktuellen Werte des Fehlers. Wenn beispielsweise der Fehler groß und positiv ist, wird auch der Reglerausgang groß und positiv sein.
I berücksichtigt die vergangenen Werte des Fehlers. Wenn beispielsweise der aktuelle Ausgang nicht ausreichend stark ist, wird sich das Integral des Fehlers im Laufe der Zeit ansammeln, und der Regler reagiert, indem er eine stärkere Aktion anwendet.
D berücksichtigt basierend auf seine aktuelle Änderungsrate mögliche zukünftige Trends.
Da ein PID-Regler nur von der gemessenen Prozessvariablen abhängt und keine Kenntnis des zugrunde liegenden Prozesses hat, ist der PID-Regler allgemein anwendbar. Durch Einstellen der drei Parameter des Modells kann ein PID-Regler spezifische Prozessanforderungen erfüllen. Die Antwort des Reglers kann in Abhängigkeit seiner Reaktionsfähigkeit auf einen Fehler, des Grads, in dem das System einen Sollwert überschreitet, und des Grads jeglicher Systemoszillation beschrieben werden. Die Verwendung des PID-Algorithmus garantiert keine optimale Regelung des Systems oder etwa seine Stabilität.
Y_OFFSET, Y_MIN und Y_MAX dienen der Transformation der Stellgröße innerhalb eines vorgegebenen Bereichs. MANUAL kann zum Schalten in den Handbetriebs verwendet werden. RESET kann verwendet werden, um den Regler neu zu initialisieren. In Normalbetrieb (MANUAL = RESET = LIMITS_ACTIVE = FALSE) berechnet der Regler den Fehler e als Differenz aus SET_POINT – ACTUAL, erzeugt die Ableitung mit Bezug zur Zeit und speichert diese Werte intern.
Die Ausgabe, die Stellgröße Y beinhaltet im Gegensatz zum PD-Regler einen zusätzlichen integralen Anteil und berechnet sich wie folgt: . Neben dem P-Anteil fließen also auch die aktuelle Änderung des Regelfehlers (D-Anteil) und die Historie des Regelfehlers (I-Anteil) in die Stellgröße ein. Der PID-Regler kann durch Einstellen von TV = 0 einfach in einen PI-Regler umgewandelt werden. Wegen des zusätzlichen integralen Teils kann ein Überlauf durch eine falsche Parametrierung des Reglers zustande kommen, wenn das Integral des Fehlers e zu groß wird. Deshalb ist aus Sicherheitsgründen eine boolesche-Ausgabe namens OVERFLOW vorhanden, die in diesem Fall den Wert TRUE haben würde. Dies geschieht nur, wenn das Regelsystem aufgrund einer falschen Parametrierung instabil ist. Gleichzeitig wird der Regler unterbrochen und erst durch Neuinitialisierung wieder aktiviert.
Solange die Begrenzung für den Stellwertgrößen (Y_MIN, Y_MAX) aktiv ist, wird der Integralteil so angepasst, als wenn der Verlauf der Eingangswerte den begrenzten Ausgangswert automatisch bewirkt hätte. Wenn dieses Verhalten nicht gewünscht wird, ist folgende Problemumgehung möglich: Schalten Sie die Begrenzung am PID-Regler (Y_MIN >= Y_MAX) aus und legen Sie stattdessen den LIMIT-Operator (IEC-Standard) auf den Ausgangswert Y (siehe ein Beispiel in der folgenden Abbildung).
Es ist nicht notwendig, die Reglerparameter (KP, TN, TV) nachzustellen, wenn die Zykluszeit sich ändert.
In der folgenden Abbildung sehen Sie ein einfaches Beispiel für die Verwendung des PID-Moduls für die Temperaturregelung und in Kombination mit dem LIMIT-Operator. Die Eingabe der aktuellen Temperatur wird durch die Angabe eines konstantes Werts über ActualTemperature simuliert.
Ein-/Ausgänge: |
|