FB_BasicPID
Der Funktionsbaustein stellt ein einfaches diskretisiertes PID-Glied dar.
Übertragungsfunktion:
Wirkungsplan:
VAR_INPUT
VAR_INPUT
fSetpointValue : LREAL; (* setpoint value *)
fActualValue : LREAL; (* actual value *)
bReset : BOOL;
fCtrlCycleTime : LREAL; (* controller cycle time in seconds [s] *)
fKp : LREAL; (* proportional gain Kp (P) *)
fTn : LREAL; (* integral gain Tn (I) [s] *)
fTv : LREAL; (* derivative gain Tv (D-T1) [s] *)
fTd : LREAL; (* derivative damping time Td (D-T1) [s] *)
END_VAR
fSetpointValue : Sollwert der Regelgröße.
fActualValue : Istwert der Regelgröße.
bReset : Ein TRUE an diesem Eingang setzt die internen Zustandsgrößen sowie den Ausgang des Reglers zurück.
fCtrlCycleTime : Zykluszeit, mit der der Funktionsbaustein aufgerufen wird und der Regelkreis bearbeitet wird [s].
Hier muss zwingend die Zykluszeit der SPS-Task angegeben werden, wenn der Baustein in jedem SPS-Zyklus aufgerufen wird,
anderenfalls das entsprechende Vielfache der SPS-Task-Zykluszeit.
fKp : Reglerverstärkung / Reglerbeiwert
fTn : Nachstellzeit [s]
fTv : Vorhaltzeit [s]
fTd : Dämpfungszeit [s]
VAR_OUTPUT
VAR_OUTPUT
fCtrlOutput : LREAL;
nErrorStatus : UINT
END_VAR
fCtrlOutput : Ausgang des PID-Gliedes.
nErrorStatus : Liefert die Fehlernummer, wenn ein Fehler vorliegt (nErrorStatus <> 0).
Fehlercodes:
Wert | Konstante | Fehlerbeschreibung |
---|---|---|
0 | nERR_NOERROR | Kein Fehler |
1 | nERR_INVALIDPARAM | Ungültige Parameter |
2 | nERR_INVALIDCYCLETIME | Ungültige Zykluszeit. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_Utilities (System) |