FB_CTRL_RAMP_GENERATOR

FB_CTRL_RAMP_GENERATOR 1:

Der Funktionsbaustein stellt einen parametrierbaren Rampengenerator dar.

Beschreibung

Dieser Funktionsbaustein erzeugt eine Rampe, die den Anfangswert fStart mit dem Zielwert fTarget verbindet. Die Steigung der Rampe, also die Geschwindigkeit, wird mit den Parametern fVeloPos und fVeloNeg in Einheiten/s angegeben. Der Startwert wird mit der steigenden Flanke von bEnable übernommen und die Berechnung der Rampe wird gestartet. Während das Signal bEnable = TRUE ist, kann der Zielwert variiert werden und der Ausgangswert ändert sich rampenförmig von dem aktuellen Wert auf den jeweils aktuellen Zielwert.

Verhalten der Ausgangsgröße

FB_CTRL_RAMP_GENERATOR 2:

FB_CTRL_RAMP_GENERATOR 3: VAR_INPUT

VAR_INPUT
    bEnable  : BOOL;
    fStart   : FLOAT;
    fTarget  : FLOAT;
END_VAR

Name

Typ

Beschreibung

bEnable

BOOL

Start der Rampengenerierung

fStart

FLOAT

Startwert der Rampe

fTarget

FLOAT

Zielwert der Rampe

FB_CTRL_RAMP_GENERATOR 4: VAR_OUTPUT

VAR_OUTPUT
    fOut           : FLOAT;
    fVeloOut       : FLOAT;
    bValueReached  : BOOL;
    eState         : E_CTRL_STATE;
    eErrorId       : E_CTRL_ERRORCODES;
    bError         : BOOL;
END_VAR

Name

Typ

Beschreibung

fOut

FLOAT

Ausgang des Rampengenerators

fVeloOut

FLOAT

Aktuelle Geschwindigkeit des Rampengenerators

bValueReached

BOOL

Der Ausgang signalisiert mit einem TRUE, das der Ausgang fOut den Wert fTarget erreicht hat.

eState

E_CTRL_STATE

State des Funktionsbausteins

eErrorId

E_CTRL_
ERRORCODES

Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.

bError

BOOL

Wird TRUE, sobald eine Fehlersituation eintritt.

VAR_IN_OUT

VAR_IN_OUT
    stParams    : ST_CTRL_RAMP_GENERATOR_PARAMS
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_RAMP_GENERATOR_
PARAMS

Parameterstruktur des Rampengenerators

stParams besteht aus den folgenden Elementen:

TYPE ST_CTRL_RAMP_GENERATOR_PARAMS :
STRUCT
    tTaskCycleTime  : TIME;
    tCtrlCycleTime  : TIME;
    fVeloPos        : FLOAT;
    fVeloNeg        : FLOAT;
END_STRUCT
END_TYPE

Name

Typ

Beschreibung

tTaskCycleTime

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.

tCtrlCycleTime

TIME

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

fVeloPos

FLOAT

Geschwindigkeit in Einheiten / s, mit der der Ausgang von einem niedrigeren Wert auf einen höheren überführt wird.

fVeloNeg

FLOAT

Geschwindigkeit in Einheiten / s, mit der der Ausgang von einem höheren Wert auf einen niedrigeren überführt wird.