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).

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)