FB_BasicPID

FB_BasicPID 1:

Der Funktionsbaustein stellt ein einfaches diskretisiertes PID-Glied dar.

Übertragungsfunktion:

FB_BasicPID 2:

Wirkungsplan:

FB_BasicPID 3:

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)