FB_CTRL_RAMP_GENERATOR
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
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 |
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 |
eState | E_CTRL_STATE | State des Funktionsbausteins |
eErrorId | E_CTRL_ | Liefert bei einem gesetzten |
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_ | 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. |