Dieser FB stellt einen umfangreichen PID-Regler mit Soll- und Istwert-Aufbereitung sowie Kennlinienfunktion zur Verfügung.
|
|
|
|
L_CT1P_ProcessController |
|
|
|
|
|---|---|---|---|---|---|---|---|
|
LREAL |
- |
|
lrSetValue |
lrOut |
|
- |
LREAL |
|
BOOL |
- |
|
xLoadActvalue |
lrOutRed |
|
- |
LREAL |
|
LREAL |
- |
|
lrActValue |
lrSetRampValueOut |
|
- |
LREAL |
|
LREAL |
- |
|
lrDelayTime |
lrDeviation |
|
- |
LREAL |
|
LREAL |
- |
|
lrGain |
xLimitActive |
|
- |
BOOL |
|
LREAL |
- |
|
lrGainAdapt |
xError |
|
- |
BOOL |
|
LREAL |
- |
|
lrResetTime |
eErrorID |
|
- |
L_IE1P_Error |
|
LREAL |
- |
|
lrRateTime |
|
|
|
|
|
BOOL |
- |
|
xReset |
|
|
|
|
|
BOOL |
- |
|
xLoadIntValue |
|
|
|
|
|
LREAL |
- |
|
lrIntValue |
|
|
|
|
|
LREAL |
- |
|
lrAcc |
|
|
|
|
|
LREAL |
- |
|
lrDec |
|
|
|
|
|
LREAL |
- |
|
lrInfluence |
|
|
|
|
|
LREAL |
- |
|
lrRedRange |
|
|
|
|
|
LREAL |
- |
|
lrRedGain |
|
|
|
|
|
LREAL |
- |
|
lrPosLimitValue |
|
|
|
|
|
LREAL |
- |
|
lrNegLimitValue |
|
|
|
|
|
ARRAY [...] OF LREAL |
- |
|
alrXValues |
|
|
|
|
|
ARRAY [...] OF LREAL |
- |
|
alrYValues |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Name Datentyp |
Info/Einstellmöglichkeiten |
|
|---|---|---|
|
lrSetValue LREAL |
Prozess-Sollwert |
|
|
xLoadActvalue BOOL |
|
|
|
TRUE |
Der Istwert lrActValue wird in den Hochlaufgeber und in den PT1-Filter geladen. Die aktuelle Regeldifferenz ist Null. |
|
|
FALSE |
Der Hochlaufgeber läuft mit der eingestellten Beschleunigung/Verzögerung vom geladenen Istwert lrActValue zum anliegenden Sollwert lrSetValue . |
|
|
lrActValue LREAL |
Prozess-Istwert |
|
|
lrDelayTime LREAL |
Filterzeitkonstante für den Istwert
|
|
|
lrGain LREAL |
|
|
|
lrGainAdapt LREAL |
Wert zur Adaption der Reglerverstärkung
|
|
|
lrResetTime LREAL |
|
|
|
lrRateTime LREAL |
|
|
|
xReset BOOL |
PID-Regler auf Null zurücksetzen. |
|
|
TRUE |
PID-Regler wird auf Null zurückgesetzt. |
|
|
FALSE |
PID-Regler ist aktiviert. |
|
|
xLoadIntValue BOOL |
TRUE |
Integrator laden: Der I-Anteil des PID-Reglers wird auf den am Eingang lrIntValue anliegenden Wert gesetzt. |
|
lrIntValue LREAL |
Normierter Wert, auf den der I-Anteil des PID-Reglers durch Setzen von xLoadIntValue = TRUE gesetzt wird. |
|
|
lrAcc LREAL |
Beschleunigung zur Rampengenerierung
|
|
|
lrDec LREAL |
Verzögerung zur Rampengenerierung
|
|
|
lrInfluence LREAL |
Wert für die Bewertung des Ausgangssignals lrOut
|
|
|
lrRedRange LREAL |
Bereich der Regelabweichung mit reduzierter Verstärkung/Empfindlichkeit
|
|
|
lrRedGain LREAL |
|
|
|
lrPosLimitValue LREAL |
Positiver Ausgangsgrenzwert für lrOut
|
|
|
lrNegLimitValue LREAL |
Negativer Ausgangsgrenzwert für lrOut
|
|
|
alrXValues ARRAY [1...5] OF LREAL |
X-Werte der Kennlinienfunktion
|
|
|
alrYValues ARRAY [1...5] OF LREAL |
Y-Werte der Kennlinienfunktion
|
|
|
Name Datentyp |
Wert/Bedeutung |
|
|---|---|---|
|
lrOut LREAL |
Ausgangssignal
|
|
|
lrOutRed LREAL |
Über Eingangssignal lrInfluence bewertetes Ausgangssignal |
|
|
lrSetRampValueOut LREAL |
Aktueller Sollwert des Hochlaufgebers |
|
|
lrDeviation LREAL |
Regelabweichung |
|
|
xLimitActive LREAL |
TRUE |
Die Begrenzung des Ausgangssignals wird/ist aktiviert. |
|
xError BOOL |
TRUE |
Es ist ein Fehler aufgetreten. Details siehe eErrorID . |
|
eErrorID |
Wenn xError = TRUE: Fehlernummer zum aufgetretenen Fehler.
|
|
Reglercharakteristik:
Die Einstellung der Reglerverstärkung erfolgt über den Eingng lrGain .
Die Einstellung "0.0000" setzt den Regler zurück.
Die Reglerverstärkung kann über den Eingang lrGainAdapt und einer parametrierbaren Kennlinienfunktion adaptiert werden.
Die Einstellung der Nachstellzeit erfolgt über den Eingang lrResetTime .
Die Einstellung "0.0000 s" deaktiviert den I-Anteil.
Durch Setzen des Eingangs xLoadIntValue auf TRUE wird der I-Anteil des Reglers auf den am Eingang lrIntValue anliegenden Wert gesetzt.
Die Einstellung der Vorhaltzeit erfolgt über den Eingang lrRateTime .
Die Einstellung "0.000 s" deaktiviert den D-Anteil (Lenze-Einstellung).
Der PID-Regler wird dadurch zu einem PI-Regler oder P-Regler, wenn auch der I-Anteil deaktiviert wurde.
Die Reglerverstärkung kann über den Eingang lrGainAdapt und einer parametrierbaren Kennlinienfunktion adaptiert werden.
In der Kennlinien-Voreinstellung (Y = 1.0) ist lrGainAdapt unwirksam, es wirkt direkt die Reglerverstärkung ( lrGain ):
|
|
Nur bei der Kennlinieneinstellung X1 = 0.0, Y1 = 0.0, X2 = 1.0 und Y2= 1.0 wirkt lrGainAdapt direkt auf die Reglerverstärkung:
|
|
Durch Veränderung der Kennlinie lässt sich der Einfluss von lrGainAdapt auf die Reglerverstärkung prozentual bewerten:
|
|
Die Kennlinie kann aus bis zu 5 Stützpunkten bestehen, die mittels der Arrays von alrXValues und alrYValues definiert werden.
Zwischen den Stützpunkten wird linear interpoliert.
Die Kennlinie wird für den Quadranten I. vorgegeben und an der Y-Achse gespiegelt.
Die gleichen Array-Nummern von alrXValues[n] und alrYValues[n] entsprechen einem Wertepaar/Stützpunkt (X n , Y n ).
Das erste Wertepaar ( alrXValues[1] und alrYValues[1] ) ist immer gültig.
Die X-Werte der Kennlinie müssen aufsteigend sortiert eingegeben werden (X1 < X2 < ... < X5).
Wird die aufsteigende Kette der X-Werte unterbrochen, entspricht dies dem Ende der Kennlinie (siehe folgende Beispiele).
Ausgehend von den letzten gültigen Wertepaaren wird beidseitig extrapoliert.
|
|
1 |
2 |
3 |
4 |
5 |
|---|---|---|---|---|---|
|
X |
0 % |
100 % |
0 % |
0 % |
0 % |
|
Y |
100 % |
100 % |
0 % |
0 % |
0 % |
|
|||||
Beispiel 1 (Standard-Einstellung)
|
|
1 |
2 |
3 |
4 |
5 |
|---|---|---|---|---|---|
|
X |
40 % |
90 % |
100 % |
0 % |
0 % |
|
Y |
40 % |
140 % |
115 % |
0 % |
0 % |
|
|||||
Beispiel 2
Durch eine reduzierte Reglerdynamik bei geringen Regelabweichungen wird das Dämpfungsverhalten des Regelkreises meist günstig beeinflusst.
Über den Eingang lrRedRange ist ein Toleranzbereich einstellbar, in dem die Regelabweichung mit einer geringeren Verstärkung an den Regler weitergegeben wird.
Mit lrRedGain erfolgt die Einstellung, auf wieviel Prozent die Verstärkung in dem festgelegten Toleranzbereich reduziert werden soll.
Über den Eingang lrInfluence kann eine prozentuale Bewertung des Reglerausgangs lrOut erfolgen. Das bewertete Ausgangssignal wird an lrOutRed ausgegeben.
Der Eingangssollwert lrSetValue kann über einen Hochlaufgeber mit linearen Rampen geführt werden, um Sollwertsprünge am Eingang zu vermeiden.
Die Einstellung der positiven und negativen Beschleunigung zur Rampenerzeugung erfolgt in lrAcc und lrDec .
In der Standard-Einstellung ist der Hochlaufgeber deaktiviert.
Durch Setzen des Eingangs xLoadActValue auf TRUE wird der Hochlaufgeber mit dem am Eingang lrActValue anliegenden Wert initialisiert. Hierdurch ergibt sich eine Regeldifferenz von Null.
Der durch Setzen von xLoadActValue auf TRUE geladene Istwert lrActValue kann über einen PT1-Filter geführt werden.
Die Einstellung der Filterzeit T erfolgt über den Eingang lrDelayTime .
In der Standard-Einstellung ist der Filter deaktiviert.
|
PT1-Filterfunktion