FB_CTRL_2POINT_PWM_ADAPTIVE

FB_CTRL_2POINT_PWM_ADAPTIVE 1:

Der Funktionsbaustein stellt einen adaptiven 2-Punkt-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 nutzt intern einen PWM-Baustein, der zur Ansteuerung des thermischen Stellgliedes 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 „0“ ist und abgeschaltet, wenn die Regelabweichung kleiner „0“ 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.

FB_CTRL_2POINT_PWM_ADAPTIVE 3: VAR_INPUT

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

Name

Typ

Beschreibung

fSetpointValue

FLOAT

Sollwert der Regelgröße

fActualValue

FLOAT

Istwert der Regelgröße

fManSync
Value

FLOAT

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

BOOL

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

eMode

E_CTRL_MODE

Eingang, der die Betriebsart des Bausteins festlegt.

FB_CTRL_2POINT_PWM_ADAPTIVE 4: VAR_OUTPUT

VAR_OUTPUT
    bOut           : BOOL;
    fPWMDutyCycle  : FLOAT;
    eState         : E_CTRL_STATE;
    eErrorId       : E_CTRL_ERRORCODES;
    bError         : BOOL;
END_VAR

Name

Typ

Beschreibung

bOut

BOOL

Ausgang des Reglers

fPWMDutyCycle

FLOAT

Aktuelles Puls-Pausen-Verhältnis des internen PWM-Bausteins

eState

E_CTRL_STATE

State des Funktionsbausteins

eErrorId

E_CTRL_ERROR
CODES

Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.

bError

BOOL

Wird TRUE, sobald ein Fehler eintritt.

VAR_IN_OUT

VAR_IN_OUT
    stParams    : ST_CTRL_2POINT_PWM_ADAPTIVE_PARAMS;
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_2POINT_PWM_
ADAPTIVE_
PARAMS

Parameterstruktur des 2-Punkt-Gliedes

stParams besteht aus den folgenden Elementen:

TYPE
ST_CTRL_2POINT_PWM_ADAPTIVE_PARAMS:
STRUCT
    tCtrlCycleTime    : TIME := T#0ms;
    tTaskCycleTime    : TIME := T#0ms;
    tPWMPeriod        : TIME;
    fOkRange          : FLOAT;
    fForceRange       : FLOAT;
    fStepSize         : FLOAT;
    fMinLimit         : FLOAT;
    fMaxLimit         : FLOAT;
    tWaitTime         : TIME;
END_STRUCT
END_TYPE

Name

Typ

Beschreibung

tCtrlCycleTime

TIME

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

TIME

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

tPWMPeriod

TIME

Periodendauer des PWM-Signals

fOkRange

FLOAT

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

fForceRange

FLOAT

Wenn „fE“ diesen Bereich überschreitet, wird das Ausgang dauerhaft auf TRUE gesetzt.

fStepSize

FLOAT

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

fMinLimit

FLOAT

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

fMaxLimit

FLOAT

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

tWaitTime

TIME

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