Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Tipp

--R Robert

Logiksymbol

Kurzbeschreibung

Image Added

PID-Regler (ohne und mit anti-wind-up)

...

Inhalt dieser Seite

...

.

Funktionsbeschreibung

...

Ziel eines Reglers ist es,

...

eine bestimmte Regelgröße (Druck, Temperatur, etc.) auf einen vorgegebenen Sollwert auszuregeln, in dem die Stellgröße zyklisch berechnet wird.
Es gibt unterschiedliche Arten von Regler. Ein PID-Regler ist eine Kombination von drei Reglertypen, nämlich

  • einem Proportionalregler (welcher primär die Differenz zwischen Ist-und Sollwert misst und daher sehr direkt auf Abweichungen reagiert [→ “Berücksichtigung der Abweichung”]),

  • einem Integralregler (welcher basierend auf Vergangenheitswerten das Ergebnis des P-Reglers optimiert und eher langfristig wirkt [→ “Aufsummierung der Abweichung”]) ,

  • einem Differenzialregler (welcher - basierenden auf Veränderungen des Ist-Wertes - versucht, die Zukunft zu antizipieren [→ “Reaktion auf Änderungen der Abweichung”]).

Das Logik-Modul PID awu enthält zusätzlich noch eine sog. Anti-Wind-Up-Funktion. Damit wird vermieden, dass der I-Regler

...

weiter aufintegriert, wenn die Stellgröße bereits den Maximalwert erreicht hat.

Eingänge

  • Soll(float): Soll-Wert

  • Ist (float): Ist-Wert.

  • Kp(float): Proportional-Term.

  • Ki(float): Integral-Term.

  • Kd (float): Differential-Term.

  • (nur PID awu) Untergrenze (float): Kleinster möglicher Wert der Stellgröße

  • (nur PID awu) Obergrenze (float): Größter möglicher Wert der Stellgröße

  • (Optional) Inhibit 1-n(boolean): (Optionale) Sperreingänge, lösen die →Abbruchfunktion aus.

  • (Optional) Trigger 1-n(boolean): (Optionale) Triggereingänge, lösen die →Triggerfunktion aus.

Ausgänge

  • Stell (float): Stellgröße.

Hinweise

Praktische Anwendungsbeispiele

  • Temperaturregelung

Zugrundeliegende Modulbausteine

Status
colourYellow
titleFortgeschrittene

...

Code

Status
colourRed
titleExperten

...

Einfache Variante

Codeblock
{  
"Level": [
    [      "$Reference",      "float",      0    ],
    [      "$Controlled",      "float",      0    ],
    [      "$Manipulate",      "float",      0    ],
    [      "$Kp",      "float",      0    ],
    [      "$Ki",      "float",      0    ],
    [      "$Kd",      "float",      0    ],
    [      "$VAR<Inhibit?>",      "bool",      false    ]  ],
"Module": [
    [      "Break",      [        "$VAR<Inhibit?>"      ]    ],
    [       "PID controller",      "$Reference",      "$Controlled",      "$Manipulate",      "$Kp",      "$Ki",      "$Kd"    ]  ],
"Input": [
    [      "Soll",      "Soll-Wert",      "$Reference",      "c"    ],
    [      "Ist",      "Ist-Wert",      "$Controlled",      "a"    ],
    [      "Kp",      "Proportional-Term",      "$Kp",      "c"    ],
    [      "Ki",      "Integral-Term",      "$Ki",      "c"    ],
    [      "Kd",      "Diverential-Term",      "$Kd",      "c"    ],
    [      "Inhibit",      "INHIBIT",      "$VAR<Inhibit?>",      "u"    ]  ],
"Output": [
    [      "Stell",      "Stellgröße",      "$Manipulate",      "a"    ]  ]
}

Variante mit Anti-Wind-Up

...


→”PID controller” bzw. “PID_awu”