FB_BasicPID

Der Funktionsbaustein stellt ein einfaches diskretisiertes PID-Glied dar.
Übertragungsfunktion:

Wirkungsplan:

Eingänge
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
Name | Typ | Beschreibung |
---|---|---|
fSetpointValue | LREAL | Sollwert der Regelgröße |
fActualValue | LREAL | Istwert der Regelgröße |
bReset | BOOL | Ein TRUE an diesem Eingang setzt die internen Zustandsgrößen sowie den Ausgang des Reglers zurück. |
fCtrlCycleTime | LREAL | 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, andernfalls das entsprechende Vielfache der SPS-Task-Zykluszeit. |
fKp | LREAL | Reglerverstärkung / Reglerbeiwert |
fTn | LREAL | Nachstellzeit [s] |
fTv | LREAL | Vorhaltzeit [s] |
fTd | LREAL | Dämpfungszeit [s] |
Ausgänge
VAR_OUTPUT
fCtrlOutput : LREAL;
nErrorStatus : UINT
END_VAR
Name | Typ | Beschreibung |
---|---|---|
fCtrlOutput | LREAL | Ausgang des PID-Gliedes |
nErrorStatus | UINT | 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) |