PID (VI)
- Aktualisiert2023-02-21
- 9 Minute(n) Lesezeit
PID (VI)
Übergeordnete Palette: PID-VIs
Erfordert: Full Development System
Implementiert einen PID-Regler unter Verwendung eines PID-Algorithmus für einfache PID-Anwendungen oder für Anwendungen der Hochgeschwindigkeitsregelung, für die ein effizienter Algorithmus benötigt wird. Der PID-Algorithmus umfasst eine Begrenzung des Ausgabebereichs mit Integrator-Anti-Windup und ruckfreier Reglerausgabe für PID-Verstärkungs-Änderungen. 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.
Zum Blockdiagramm hinzufügen |
Auf Palette suchen |
PID (DBL)

![]() |
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 gibt den Sollwert der Prozessvariablen an. | ||||||
![]() |
Prozessvariable gibt den gemessenen Wert der geregelten Prozessvariable an. Dieser Wert entspricht dem Rückkopplungswert einer rückgekoppelten Regelschleife. | ||||||
![]() |
PID-Verstärkungswerte gibt die proportionale Verstärkung, die Nachstellzeit und die Vorhaltzeit des Reglers an.
| ||||||
![]() |
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? 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. | ||||||
![]() |
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 (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. |
PID (DBL-Array)

![]() |
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. Ausgangsbereich ist ein Array aus Clustern der folgenden Elemente:
| ||||||
![]() |
Sollwert gibt den Sollwert der Prozessvariablen an. Das VI passt die Größe des Eingangs-Arrays Sollwert an die Größe des Eingangs-Arrays Prozessvariable an. | ||||||
![]() |
Prozessvariable gibt den gemessenen Wert der geregelten Prozessvariable an. Dieser Wert entspricht dem Rückkopplungswert einer rückgekoppelten Regelschleife. | ||||||
![]() |
PID-Verstärkungswerte ist ein Array aus Clustern der folgenden Elemente:
| ||||||
![]() |
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? 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. | ||||||
![]() |
Ausgabe gibt den Controller-Ausgangswert des PID-Algorithmus aus, mit dem die Regelung durchgeführt wird. Das VI ermittelt die Länge des Arrays Ausgabe anhand der Größe des Eingangs-Arrays Prozessvariable. | ||||||
![]() |
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. |
Kompatibilität

![]() |
Sollwert gibt den Sollwert der Prozessvariablen an. | ||||||||||||||||||||||
![]() |
Prozessvariable gibt den gemessenen Wert der geregelten Prozessvariable an. Dieser Wert entspricht dem Rückkopplungswert einer rückgekoppelten Regelschleife. | ||||||||||||||||||||||
![]() |
PID-Parameter ist ein Cluster aus den neuen PID-Verstärkungsparametern für jeden Regler. So können andere PID-VIs mit diesen Werten arbeiten.
| ||||||||||||||||||||||
![]() |
Manuelle Steuerung gibt den Ausgabewert des Reglers an, wenn Autom? FALSE ist. | ||||||||||||||||||||||
![]() |
Optionen gibt die Einstellungen des PID-Reglers an.
| ||||||||||||||||||||||
![]() |
Iteration ist der aktuelle Durchlauf der Schleife. Verbinden Sie diesen Parameter mit dem Iterationsanschluss der While-Schleife. | ||||||||||||||||||||||
![]() |
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"). |
PID (Details)
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.
Beispiel
Siehe VI "General PID Simulator" unter labview\examples\control\PID als Anwendungsbeispiel für "PID" (VI).
Beispiel öffnen
Nach ähnlichen Beispielen suchen
Zum Blockdiagramm hinzufügen








