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).
0 = nERR_NOERROR : Kein Fehler.
1 = nERR_INVALIDPARAM : Ungültige Parameter
2 = nERR_INVALIDCYCLETIME : Ungültige Zykluszeit.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.7.0 Build > 519 | PC or CX (x86) | TcPlcUtilities.Lib; Standard.Lib; PLCSystem.Lib; TcPLCAds.Lib; PLCHelper.Lib; |
TwinCAT v2.8.0 Build > 739 | PC or CX (x86) | TcUtilities.Lib |
TwinCAT v2.10.0 Build >= 1301 | CX (ARM) |