EBSILON®Professional Online Dokumentation
Bauteil 130: PID-Regler (mit Anti-Windup)

Bauteil 130: PID-Regler (mit Anti-Windup)


Vorgaben

Leitungsanschlüsse

1

Eingangssignal

2

PID-Ausgang

3

Sollwert

4

Regeleingang für KP (als M), TN oder KI (als H) und TV oder KD (als P)

Allgemeines       Vorgabewerte       Ergebniswerte       Kennlinien       Verwendete Physik       Bauteilform       Beispiel

Allgemeines

Die Aufgabe dieses Reglers (Bauteil 130) ist es, bei instationären Vorgängen eine Regeldifferenz (z.B. verursacht durch das Übertragungsverhalten eines transienten Bauteils) auszugleichen. Er kann nicht als Daten-Regler wie z.B. Bauteil 12 eingesetzt werden! Mit Hilfe einer Korrekturgröße  wird ein zeitlich variabler Istwert verändert, solange bis dieser den vorgegebenen Sollwert erreicht hat. Es handelt sich um einen Regelalgorithmus und nicht um das Errechnen eines Zielwertes mit Hilfe der Variation einer Eingangsgröße!

Bei diesem Reglertyp ist die allgemeine Differentialgleichung für das Übertragungsverhalten von PID-Reglern hinterlegt:

Gl. 1-1

Sie liefert das Ausgangssignal y(t) mit den Parametern:

Der integrale Anteil des Ausgangssignals y(t) ist aus der Historie der Eingangssignale zugänglich. Der Integrator wird durch Summation der vorangegangenen Eingangswerte e(t) realisiert. Die differentiellen Zeitschritte dt werden durch die Intervalle der Abtastzeit Dt ersetzt, welche im EBSILON-Zeitreihendialog abgelegt sind.

Mit dieser Diskretisierung erhält Gl.1-1 folgendes Aussehen für den k-ten Zeitschritt:

Gl. 1-2

Bei der Verwendung dieses Reglers muss analog zu den Datenreglern der Typ der Korrekturgröße und der Typ des Istwerts angegeben werden. Die Korrekturgröße muss eine Basisgröße (Druck, Enthalpie oder Durchsatz) sein. Der Istwert kann auch eine abgeleitete Größe, nämlich Temperatur oder Wärmestrom, sein.

Für die Korrekturgröße, bzw. das Reglerausgangssignal muss ein interner Startwert vorgegeben werden.

 

Globale Initialisierung von transienten Bauteilen

Alle transienten Bauteile, die über den Schalter FINIT verfügen, können über einen globalen Schalter gemeinsam gesteuert werden. Dazu wurde der Schalter FINIT um die Stellung GLOBAL:0 erweitert.
Wird er auf diesen Wert gesetzt, so übergibt man die Steuerung der transienten Simulation an die globale Variable „Instationärer Modus“, welche unter

Extras \Modell-Einstellungen\Simulation\Kombobox "Instationärer Modus"

zu finden ist.

Diese gibt dann den gewünschten Modus (Erster Durchlauf oder Folgedurchlauf) an die Bauteile weiter. Mit Hilfe des Ausdrucks “@calcoptions.sim.transientmode“ kann dieser vom Zeitreihendialog aus gesteuert werden.

Optionale Logikleitung (Anschluss 4)

Beim PID-Regler gibt es eine zusätzliche, optional zuschaltbare Logikleitung (Port 4), mit deren Hilfe die Reglerparameter (Kp, KI und KD) extern gesetzt werden können.
Die Datenübernahme in das Modell findet hier bei jedem Iterationsschritt statt. Verbunden damit ist auch ein weiterer Schalter FPARAMIN zur Auswahl der Quelle der Parameter. 

 

Vorgabewert FOUTUS: Vorgabe des Ausgangssignals

Normalerweise ist der Ist-Wert der Zielgröße vor der Simulation unbekannt und er wird im Laufe der Iteration erst ermittelt. Andererseits hängt das Ausgangssignal des Reglers (PIN 2) vom Ist-Wert bzw. von seiner Differenz zur Führungsgröße ab. Dies kann zu Konvergenzproblemen führen. Um dieses Problem zu entschärfen wurde der Vorgabewert FOUTUS im Bauteil 130 eingeführt.

Die Einstellung FOUTUS = 0 ist die Standardeinstellung. Es wird empfohlen, nur dann die Einstellung FOUTUS = 1 zu verwenden, wenn die Konvergenz mit anderen Mitteln nicht zu erreichen ist.


Vorgabewerte

 FINIT

Anfangszustand, die globale Variable "Instationärer Modus" unter Modell-Einstellungen:
        " Extras" -> "Modelleinstellungen" -> "Simulation" -> "Instationär" -> Kombobox "Instationärer Modus"
        (siehe dazu --> Allgemeines--> Globale Initialisierung von transienten Bauteilen)                                

 =1:  Erster Durchlauf/Initialisierung (TCOUNT := 1)
 =2:  Folgedurchlauf/Zeitreihe

 FTYPE

 Schalter für SpezifikatioSn der Reglerparameter
 =0: Vorgabe Proportionalbeiwert und Zeitkonstanten           Vorgabe von Kp, Tn und Tv
 =1: Koeffizienten vorgeben                                                    Vorgabe von Kp, Ki, Kd

 FSPIN

 Quelle Sollwertvorgabe/Eingangssignal

 =0:  intern gegebener Wert
 =1:  extern über Anschluss 3
 =2:  Eingangssignal nur von Anschluss 1

 FPARAMIN

 Quelle der Regelparameter

 =0:  intern gegeben
 =1:  von außen über Anschluss 4 gegeben                  

 FSPTYPE

 Schalter für Typ der Reglerparameter  (Soll-und Istwert)

 =1: Druck
 =2: Temperatur
 =3: Enthalpie
 =4: Massenstrom
 =5: Leistung / Wärmestrom

 FPIDOUT

 Schalter für Typ der Stellgröße

 =1: Druck
 =3: Enthalpie
 =4: Massenstrom

 SETPOINT

 Interne Sollwertvorgabe

 KP

 Proportionaler Verstärkungsfaktor

 <0: Negative Reglercharakteristik

 >0: Positive Reglercharakteristik

 KI

 Integraler Verstärkungsfaktor, abhängig von FTYPE, nicht aktiv, wenn FTYPE = 0

 KD

 Differentieller Verstärkungsfaktor, abhängig von FTYPE, nicht aktiv, wenn FTYPE = 0

 TN

 Nachstellzeit, abhängig von FTYPE, nicht aktiv wenn FTYPE = 1

 TV

 Vorhaltezeit, abhängig von FTYPE, nicht aktiv, wenn FTYPE = 1

 YINI

 Startwert

 FPIDMODE

 Schalter für PID-Gleichung

 =1: Differenzengleichung
 =2: Stellungs-/Positionsalgorithmus

 FINTEGRAL

 Schalter Integrationsmethode

 =1: Rückwärtsintegration
 =2: Vorwärtsintegration
 =3: Trapez-Integration

 FYLIMIT

 Schalter für Reglerbegrenzung

 =0: keine Begrenzung
 =1: Sättigungsrückkopplung
 =2: Integration beenden
 =3: Begrenzen des Integrators

 YMIN

 Minimalwert für die Ausgabegröße

 YMAX

 Maximalwert für die Ausgabegröße

 TPRE

 Index des vorheriger Zeitschritt (wenn auf 0 gesetzt, erfolgt komplette Initialisierung)

 TIMEINT

 Integrationszeit gesamt

 FOUTUS

 Verwendung Korrekturwert (siehe dazu unter "Allgemeines")

 =0: aus aktuellem Zeitschritt( höchste Genauigkeit)
 =1: aus vorherigem Zeitschritt (höchste Konvergenzgeschwindigkeit)

 CFLAG

 Indikator Integrator
 Anzeigewert für Integrator-Begrenzung (Clamping), keine Eingangsgröße, aktiv für FYLIMIT =3.  Wenn Anzeigewert (CFLAG)=1, dann wird damit angezeigt, dass Clamping  im letzten Zeitschritt aktiv war .  

 


  

Ergebniswerte

Das Ausgangssignal besteht im Allgemeinen (PID-Regler) aus drei Anteilen: Proportional, Integral, Differentiell. Diese Anteile werden in den Ergebniswerten RPROP, RINT, RDIFF ausgegeben.

Die Summe der einzelnen Anteile ergibt somit den Wert des Ausgangssignals. Die Einheit der Werte RPROP, RINT, RDIFF ist identisch mit der Einheit des Ausgangssignals (z.B. bei Massenstrom kg/s).

Die Ergebniswerte RKP, RKI, RKD sind dagegen keine Anteile des Ausgangssignals, sondern die entsprechenden Koeffizienten KP, KI, KD der Gleichung 1-1 (siehe oben) . Dementsprechend bleibt deren Einheit immer gleich (unabhängig vom Typ des Ausgangssignals FPIDOUT).

Z. B. bei FTYPE=0 - es werden in der Berechnung die Werte Tn, Tv, KP verwendet - dann kann man die entsprechenden Faktoren KP, KI, KD in den Ergebniswerten RKP, RKI, RKD finden.

RKP

Berechneter proportional Anteil

RKI

Berechneter integral Anteil

RKD

Berechneter differentieller Anteil

RTN

Berechnete Nachstellzeit 

RTV

Berechnete Vorhaltezeit

RPROP

Aktueller proportionaler Anteil des Ausgangssignals

RINT

Aktueller integraler Anteil des Ausgangssignals

RDIFF

Aktueller differentieller Anteil des Ausgangssignals

RTCURR

Index des aktuell berechneten Zeitschrittes

RTIMETOT

Gesamtzeit am Ende der Berechnung

RCFLAG

Status der Integratorspannung


Kennlinien

Diese Kennlinien stellen hier keine Zusammenhänge zur Charakterisierung des Bauteils her, sie dienen
vielmehr der Verknüpfung , bzw. der Speicherung der im Regler verwendeten Signale. I.d.R werden
keine Werte gesetzt, deren Übernahme erfolgt aus dem Zeitreihendialog.

CCONTROLIN - Historie der Eingangssignale an Leitung 1

Diese Kennlinie speichert den Verlauf der Reglereingangssignale an Leitung 1.

x-Wert: Zeitschritte, kumulativ in [s] beginnend mit dem Dt vom ersten Zeitschritt zum zweiten

y-Wert: Wert der Eingangssignale

COUTPUT       - Historie der Ausgangssignale an Leitung 2

Diese Kennlinie speichert den Verlauf der Reglerausgangssignale an Leitung 2.

x-Wert: Zeitschritte, kumulativ in [s] beginnend mit dem Dt vom ersten Zeitschritt zum zweiten

y-Wert: Wert der Ausgangssignale

CINTEGRATOR - Historie der Integralanteile am Ausgangssignal

Diese Kennlinie speichert den Verlauf der Integratorwerte für den I-Anteil am Reglerausgangssignal.

x-Wert: Zeitschritte, kumulativ in [s] beginnend mit dem Dt vom ersten Zeitschritt zum zweiten

y-Wert: Wert des Integrators

CSETPOINT     - Historie der Sollwerte (Leitung 3 oder intern)

Diese Kennlinie speichert den Verlauf der Wertes der Sollwerte.

x-Wert: Zeitschritte, kumulativ in [s] beginnend mit dem Dt vom ersten Zeitschritt zum zweiten

y-Wert: Wert des Sollwertes

 

Ergebnisfelder

RACONTROLIN  - Historie der Eingangssignale an Leitung 1

RAOUTPUT        - Historie der Ausgangssignale an Leitung 2

RAINTEGRATOR - Historie der Integralanteile am Ausgangssignal

RASETPOINT      - Historie der Sollwerte (Leitung 3 oder intern)

Alle Ergebnisfelder korrelieren mit den entsprechenden Kennlinien, sie zeigen die Werte am Ende des Zeitschrittes.


Verwendete Physik

Gleichungen 

 Es stehen grundsätzlich je nach Erfordernis zwei Algorithmen zur numerischen Abbildung der Reglergleichung Gl. 1-2 zur Verfügung:

  • PID-Differenzengleichung
  • Stellungs-/Geschwindigkeitsalgorithmus

 Differenzengleichung

 

  

 

 Stellungsalgorithmus

 

           
 y(k)     = y(k-1) + b0*e(k)+b1*e(k-1)+b2*e(k-2)

 mit b0 = KP + KI*DT+KD/DT

       b1 = -KP-2KD/DT

       b2 = KD/DT
        

 

 Zusammenhänge der Eingangsparameter (auf Basis des idealen PID-Reglers)

 


 KI  = KP/TN, bzw TN = KP/KI

 KD = KP*TV, bzw. TV=KD/KP
                 

 

Kontrollmöglichkeiten für Reglerausgang (Anti Windup)

Bei allen realen Reglern existiert eine Limitierung der Stellgröße, d.h. sowohl am unteren als auch oberen Ende des Ausgabe-Wertebereichs gibt es einen Grenzwert, der physikalisch nicht überschritten werden kann. Bei bleibender Regelabweichung kann ein Regler mit I-Anteil zu Problemen führen, wenn die Integration nicht kontrolliert wird (Windup-Effekte), d.h. der Integrator nimmt Werte an, die erst nach sehr langer Zeit wieder abgebaut werden können.

 Zur Kontrolle des Ausgangssignals, bzw. des Integrators können verschiedene Begrenzungsmethoden eingesetzt werden.

Saturation Feedback  (FYLIMIT = 1)

y(k)    <=  ymax && y(k) >= ymin 

y(k)    = ymax, bzw. ymin

y(k-1) = (ylim - KP*e(k) - KD/DT*(e(k) -e(k-1)))/KI*DT
          

 

Bei dieser Methode wird das Ausgangssignal mit einem Grenzwert verglichen. Ist dieser über- oder unterschritten, so wird der Grenzwert auch den Reglerausgang gelegt und der Integralanteil wird um einen entsprechenden Differenzwert zurückgesetzt. Der Integrator bleibt aktiv, kann aber nicht zur Überschreitung des Wertebereichs führen.

 Stop Integration (FYLIMIT = 2)

 


 y(k)    <=  ymax && y(k) >= ymin 

 y(k)    = ymax, bzw. ymin

 y(k-1) = const. (y(k-2))

 

Hier wird der Wert des Integrators selbst begrenzt.

 Clamp Integration (FYLIMIT = 3)

 


 y(k)    <=  ymax && y(k) >= ymin 

 Se(i)  = ymax, bzw. ymin

 

Integrationsmethoden

Für die Berechnung der Summenterme in der Reglergleichung stehen folgende Möglichkeiten zur Verfügung:

 Vorwärts

 

 Se(i) = e(k)

 

 Rückwärts

 

 Se(i) = e(k-1)      

 

 Trapez

 

  Se(i) = 1/2*(e(k)+e(k-1))               

 

 Variablenverknüpfungstabelle

Gl. Nr.

 

Leitung

   

1

2

3

1

V1

X  

(X)

1

V2

 

X

 

V1 = (P oder T oder H oder M oder Q)
V2 = (P oder H oder M)

 


 

Bauteilform

Form 1


Beispiel

Klicken Sie hier >> Bauteil 130 Demo << um ein Beispiel zu laden.

Siehe auch