PID - Fortgeschritten (DBL)
- Aktualisiert2025-07-30
- 6 Minute(n) Lesezeit
Implementiert einen PID-Regler unter Verwendung eines PID-Algorithmus mit optionalen erweiterten Funktionen. Der erweiterte PID-Algorithmus bietet über die Funktionen des PID-VIs hinaus die Möglichkeit zur manuellen Steuerung mit ruckfreier Umschaltung in den automatischen Modus, die Möglichkeit zur Nutzung eines nicht linearen Integalanteils sowie eine Fehlerquadratregelung und eine Regelung mit zwei Freiheitsgraden. Mit der DBL-Instanz dieses VIs lässt sich eine Regelschleife implementieren. Für eine Mehrschleifenregelung benötigen Sie die DBL-Array-Instanz dieses VIs.

Ein-/Ausgänge
Alpha
—
Alpha gibt die Differenzierfilter-Zeitkonstante an. Beim Erhöhen dieses Werts vergrößert sich die Dämpfung des D-Anteils. Alpha kann ein Wert im Bereich von 0 bis 1 sein. Wenn Sie für Alpha NaN angeben, heißt das, dass kein Differenzierfilter angewendet wird.
Gamma
—
Gamma ist der Betrag, um den der auf den D-Anteil angewandte Fehler gewichtet wird. Der Standardwert lautet 0. Dadurch wird ein sprunghafter Anstieg des D-Anteils, der so genannte "Derivative Kick" verhindert, der nach einer Änderung des Sollwerts auftreten kann Bei bestimmten Kaskadenreglern, wo dieser Anstieg nichts ausmacht, lässt sich die Geschwindigkeit des ersten PID-Reglers durch Erhöhen von Gamma verbessern.
Manuelle Steuerung
—
Manuelle Steuerung gibt den Ausgabewert des Reglers an, wenn Autom? FALSE ist.
Autom.? (T)
—
Autom? gibt an, ob das System automatisch oder manuell geregelt bzw. gesteuert werden soll. In manchen Fällen müssen Sie möglicherweise den PID-Regler ausschalten und das System manuell steuern. Die Standardeinstellung lautet TRUE. Wenn Autom? TRUE ist, arbeitet das VI mit automatischer Regelung. Bei FALSE lässt es sich manuell steuern. Der Wechsel von manueller Steuerung zu automatischer Regelung erfolgt ruckfrei.
Ausgangsbereich
—
Ausgangsbereich gibt den Bereich an, an den der Ausgangswert angepasst werden soll. Der Standardbereich liegt zwischen –100 und 100, was den prozentual angegebenen Werten entspricht. Sie können diesen Bereich je nach Regelungssystem anpassen. So können Sie beispielsweise statt Prozentwerten Einheiten einander zuordnen. Wenn der Reglerausgangswert an den angegebenen Mindest- oder Höchstwerten gesättigt ist, ruft das VI einen Integrator-Anti-Windup-Algorithmus auf.
Sollwert
—
Sollwert gibt den Sollwert der Prozessvariablen an.
Prozessvariable
—
Prozessvariable gibt den gemessenen Wert der geregelten Prozessvariable an. Dieser Wert entspricht dem Rückkopplungswert einer rückgekoppelten Regelschleife.
Sollwertbereich
—
Sollwertbereich gibt den Mindest- und den Höchstwert an, die den Wertebereich des Sollwerts/der Prozessvariablen ausmachen. Das VI berechnet anhand von Sollwertbereich den nicht linearen I-Anteil. Der Standardbereich liegt zwischen 0 und 100, was den prozentual angegebenen Werten entspricht. Sie können diesen Bereich je nach Regelungssystem anpassen. So können Sie beispielsweise statt Prozentwerten Einheiten einander zuordnen. Dieses VI verwendet den Sollwertbereich in der nichtlinearen integralen Wirkungsberechnung und in der nichtlinearen Fehlerberechnung.
PID-Verstärkungswerte
—
PID-Verstärkungswerte gibt die proportionale Verstärkung, die Nachstellzeit und die Vorhaltzeit des Reglers an.
dt (s)
—
dt (s) gibt das Intervall in Sekunden an, in dem das VI aufgerufen wird. Wenn dt (s) kleiner oder gleich 0 ist, berechnet das VI mit Hilfe eines internen Timers mit einer Auflösung von 1 ms die Zeit seit seinem letzten Aufruf. Wenn dt (s) unter 1 ms liegen muss, müssen Sie den Wert explizit angeben. Der Standardwert lautet -1.
Neu initialisieren? (F)
—
Neu initialisieren? gibt an, ob die internen Parameter (wie der Integrationsfehler des Reglers) neu initialisiert werden sollen. Setzen Sie Neu initialisieren? auf TRUE, wenn Ihre Anwendung in der Lage sein muss, die Regelschleife zu stoppen und neu zu starten, ohne selbst ihre Ausführung beenden zu müssen. Die Standardeinstellung lautet FALSE.
Beta
—
Beta gibt die relative Wichtigkeit der geführten Sollwertänderung gegenüber der Störunterdrückung an. Für die meisten Anwendungen ist der Standardwert 1 ausreichend. Wenn Sie einen kleineren Wert zwischen 0 und 1 wählen, können Sie der Störunterdrückung größere Bedeutung zuweisen, z. B. bei Prozesslaständerungen. Dieser Wert wird in einem Algorithmus mit zwei Freiheitsgraden genutzt.
Linearität
—
Linearität gibt die Linearität der Reaktion auf Fehler an. Der gültige Bereich für Linearität liegt zwischen 0 und 1. Bei 1 verläuft die Reaktion linear und bei 0,1 näherungsweise parabolisch. Das VI nutzt diesen Wert für die Berechnung des nicht linearen Fehlers und des nicht linearen Verstärkungsfaktors.
Ausgabe
—
Ausgabe gibt den Controller-Ausgangswert des PID-Algorithmus aus, mit dem die Regelung durchgeführt wird. Wenn das VI einen ungültigen Eingangswert empfängt, lautet Ausgabe NaN ("Keine Zahl").
dt (Ausgang) (s)
—
dt (s) (Ausgang) gibt das tatsächliche Zeitintervall in Sekunden aus. dt (s) (Ausgang) gibt entweder den Wert von dt (s) oder bei dt (s) gleich –1 das berechnete Intervall aus. |
Die DBL-Array-Instanz dieses polymorphen VIs kann in PID-Regelanwendungen mit mehreren Schleifen genutzt werden. In diesem Fall bestimmt die Länge des Eingangs Prozessvariable die Länge des Ausgangs-Arrays. Andere Eingangs-Arrays müssen nicht unbedingt die gleiche Länge wie der Eingang Prozessvariable haben. Das VI passt die anderen Eingangs-Arrays wie folgt an die Länge des Eingangs Prozessvariable an:
- Wenn das Eingangs-Array länger als der Eingang Prozessvariable ist, wird es auf die Länge von Prozessvariable gekürzt. Die abgeschnittenen Array-Werte werden ignoriert.
- Wenn das Eingangs-Array kürzer als der Eingang Prozessvariable ist, wird der letzte Wert des Arrays so oft wiederholt, bis das Array mit der Länge an Prozessvariable übereinstimmt.
Ein Eingangswert, der für jede Berechnung genutzt werden soll, muss daher im Eingangs-Array nicht mehrfach wiederholt werden. Es reicht, ein Array mit diesem einen Wert an den Eingang anzulegen.
Ruckfreier Übergang vom manuellen Modus in den Automatikmodus
Dieses VI unterstützt die ruckfreie Umschaltung vom manuellen Modus in den Automatikmodus, die Sprünge in den Reglerausgabewerten während des Umschaltens verhindert.
Ruckfreier Übergang vom Automatikmodus in den manuellen Modus
Das VI bietet keinen ruckfreien Übergang vom Automatikmodus in den manuellen Modus. Damit keine Sprünge während des Umschaltens auftreten, muss Ihre Anwendung dafür sorgen, dass der manuell eingestellte Ausgangswert zum Zeitpunkt des Umschaltens mit dem Ausgangswert des Regelkreises übereinstimmt. Dazu könnten Sie z. B. für die manuelle Steuerung eine lokale Variable verwenden, wie im nachfolgenden Blockdiagramm dargestellt ist.

Beispiele
Die folgenden Beispieldateien sind in LabVIEW enthalten.
- labview\examples\control\PID\Manual-Automatic Control.vi
Alpha
—
Autom.? (T)
—
Ausgangsbereich
—
Ausgabe
—