FB_CTRL_2POINT_PWM_ADAPTIVE

FB_CTRL_2POINT_PWM_ADAPTIVE 1:

Der Funktionsbaustein stellt einen adaptiven Zweipunkt-Regler dar, der insbesondere für Einzelraumregelungen geeignet ist, bei denen hohe Vorlauftemperaturen vorhanden sind und die ein thermisches Stellglied einsetzen.

Verhalten des Ausgangs:

FB_CTRL_2POINT_PWM_ADAPTIVE 2:

Beschreibung der Funktionsweise:

Der Regler nutz intern einen PWM-Baustein, der zu Ansteuerung des thermischen Stellglieds verwendet wird. Das Puls-Pausen-Verhältnis des PWM-Bausteins wird adaptiv an das Verhalten der Regelstrecke angepasst. Der PWM-Ausgang wird eingeschaltet, sobald die Regelabweichung fE = Sollwert - Istwert größer Null ist und abgeschaltet, wenn die Regelabweichung kleiner Null ist. Solange sich die Regelabweichung innerhalb des Intervalls [ -fOkRange ... fOkRange] befindet, wird das Puls-Pausen-Verhältnis nicht verändert. Wenn fE > fOkRange ist, wird das Puls-Pausen-Verhältnis um fStepSize erhöht. Nach diesem Erhöhen wird die Zeit tWaitTime abgewartet, bevor das Puls-Pausen-Verhältnis eventuell erneut verändert wird. Bei unterschreiten von -fOkRange wird das Puls-Pausen-Verhältnis um fStepSize reduziert. Das Puls-Pausen-Verhältnis wir nur innerhalb des Intervalls [fMinLimit ... fMaxLimit] variiert. Die Periodendauer des PWM-Signals wird mit dem Parameter tPWMPeriod angegeben.

VAR_INPUT

VAR_INPUT
    fSetpointValue  : FLOAT;
    fActualValue    : FLOAT;
    fManSyncValue   : FLOAT;
    bSync       : BOOL;
    eMode       : E_CTRL_MODE;
END_VAR

fSetpointValue : Sollwert der Regelgröße.

fActualValue : Istwert der Regelgröße.

fManSyncValue : Eingang, auf den das Puls-Pausen-Verhältnis des Reglers gesetzt werden kann, oder mit dem der Ausgang im Manual-Mode gesetzt werden kann. Im Manual-Mode wird der Ausgang gesetzt, wenn fManSyncValue > 0.0 ist.

bSync : Mit einer steigenden Flanke an diesem Eingang wird das Puls-Pausen-Verhältnis des internen PWM-Bausteins auf den Wert fManSyncValue gesetzt.

eMode : Eingang, der die Betriebsart des Bausteins festlegt.

VAR_OUTPUT

VAR_OUTPUT
    bOut        : BOOL;
    fPWMDutyCycle   : FLOAT;            (* debug only *)
    eState      : E_CTRL_STATE;
    eErrorId        : E_CTRL_ERRORCODES;
    bError      : BOOL;
END_VAR

bOut : Ausgang des Reglers.

fPWMDutyCycle : Aktuelles Puls-Pausen-Verhältnis des internen PWM-Bausteins.

eState : State des Funktionsbausteins.

eErrorId : Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.

bError : Wird TRUE, sobald ein Fehler eintritt.

VAR_IN_OUT

VAR_IN_OUT
    stParams        : ST_CTRL_2POINT_PWM_ADAPTIVE_PARAMS;
END_VAR

stParams : Parameterstruktur des 2Punkt-Glieds. Diese besteht aus den folgenden Elementen:

TYPE
ST_CTRL_2POINT_PWM_ADAPTIVE_PARAMS:
STRUCT
    tCtrlCycleTime     : TIME     := T#0ms; (* controller cycle
[TIME] *)
    tTaskCycleTime     : TIME     := T#0ms; (* task cycle time
[TIME] *)
    tPWMPeriod     : TIME
    fOkRange       : FLOAT
    fForceRange    : FLOAT
    fStepSize      : FLOAT
    fMinLimit      : FLOAT           (* [0% ... 100%]
*)
    fMaxLimit      : FLOAT           (* [0% ... 100%]
*)
    tWaitTime      : TIME
END_STRUCT
END_TYPE

tCtrlCycleTime : Zykluszeit, mit der der Regelkreis bearbeitet wird. Diese muss größer oder gleich der TaskCycleTime sein. Der Funktionsbaustein berechnet mit dieser Eingangsgröße intern, ob die Zustands- und Ausgangsgrößen im aktuellen Zyklus aktualisiert werden müssen.

tTaskCycleTime : Zykluszeit, mit der der Funktionsbaustein aufgerufen wird. Diese entspricht der Task-Zykluszeit der aufrufenden Task, wenn der Baustein in jedem Zyklus aufgerufen wird.

tPMWPeriod :Periodendauer des PWM-Signals.

fOkRange :Bereich von fE, in dem das Puls-Pausen-Verhältnis nicht verändert wird.

fForceRange :Wenn fE diesen Bereich überschreitet, wird das Ausgang dauerhaft auf TRUE gesetzt.

fStepSize :Wert, um den das Puls-Pausen-Verhältnis bei jeder Adaption variiert wird. [0% ... 100%]

fMaxLimit :Maximales Puls-Pausen-Verhältnis in Prozent [0% ... 100%].

fMinLimit :Minimales Puls-Pausen-Verhältnis in Prozent [0% ... 100%].

tWaiTimet :Wartezeit zwischen den einzelnen Variationen des Puls-Pausen-Verhältnisses.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.8

PC (i386)

TcControllerToolbox.lib

TwinCAT v2.9 ab Build 947

BC

TcControllerToolbox.lb6

TwinCAT v2.9 ab Build 956

BX

TcControllerToolbox.lbx