PID_FIXCYCLE (FB)

FUNCTION_BLOCK PID_FIXCYCLE

Repräsentiert einen PID-Regler, für den die Zykluszeit manuell gesetzt werden kann

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 Integral- und Differenzialglied (manchmal entsprechend mit P, I und D bezeichnet), die dem Reglertyp den Namen geben.

Info

Für schnelle und fixe Tasks empfiehlt es sich, PID_FIXCYCLE anstelle von PID zu verwenden, da die Zykluszeit genau definiert ist, während PID nur die Zykluszeit mit einer maximalen Genauigkeit von Millisekunden messen kann. Bei sehr kurzen Zyklen (1 ms) kann dies zu einem unruhigen Lauf führen (siehe PID).

Info

Es ist nicht notwendig, die Reglerparameter (KP, TN, TV) nachzustellen, wenn die Zykluszeit sich ändert.

Für mehr Informationen siehe PID.

Ein-/Ausgänge:

Gültigkeitsbereich

Name

Typ

Initialwert

Beschreibung

Eingang

ACTUAL

REAL

Aktueller Wert, Prozessvariable

SET_POINT

REAL

Vorgegebener Wert, Sollwert

KP

REAL

Proportionalitätskonstante P

TN

REAL

Rücksetzzeit I [sec]

TV

REAL

Vorhaltezeit D [sec]

Y_MANUAL

REAL

Y wird auf diesen Wert gesetzt, so lange wie MANUAL = TRUE

Y_OFFSET

REAL

Offset für die Stellgröße

Y_MIN

REAL

Minimalwert für die Stellgröße

Y_MAX

REAL

Maximalwert für die Stellgröße

MANUAL

BOOL

TRUE: Manuell: Y wird vom Regler nicht beeinflusst

FALSE: Regler bestimmt Y

RESET

BOOL

TRUE: Setzt den Ausgang Y auf Y_OFFSET und setzt den Integralteil zurück

CYCLE

REAL

Zeit [s] zwischen zwei Aufrufen

Ausgang

Y

REAL

Stellgröße, Sollwert

LIMITS_ACTIVE

BOOL

FALSE

TRUE: Sollwert würde die Grenzen Y_MIN, Y_MAX übersteigen

OVERFLOW

BOOL

FALSE

Überlauf im Integralteil