FB_CTRL_SETPOINT_GENERATOR

FB_CTRL_SETPOINT_GENERATOR 1:

Der Funktionsbaustein stellt einen Sollwertgenerator dar, der aus einer Tabelle den angewählten Sollwert ausgibt. Der Wechsel von einem zum anderen Sollwert kann stetig oder unstetig erfolgen.

Verhalten der Ausgangsgröße

FB_CTRL_SETPOINT_GENERATOR 2:

Tabelle des Beispiels:

Index

 

1

12

2

42

3

25

73

Beschreibung

In dem Array, welches mit den entsprechenden Parametern dem Baustein bekannt gemacht wird, werden die einzelnen Sollwerte abgelegt. Über den Eingang nSetpointIndex wird ein in der Tabelle hinterlegter Sollwert ausgewählt. Dieser wird dann am Ausgang ausgegeben und kann als Sollwert für die Regelung verwendet werden. Der Wechsel von einem Wert auf einen anderen kann linear oder sprungförmig erfolgen. Die Geschwindigkeit eines stetigen Übergangs wird mit den Parametern fVeloPos und fVeloNeg festgelegt. Der Ausgang bValueReached signalisiert das Erreichen des angewählten Sollwertes.

FB_CTRL_SETPOINT_GENERATOR 3: Eingänge

VAR_INPUT
    nSetpointIndex  : INT;
    fManValue       : FLOAT;
    eMode           : E_CTRL_MODE;
END_VAR

Name

Typ

Beschreibung

nSetpointIndex

INT

Index des angewählten Sollwertes

fManValue

FLOAT

Eingang, der im Manual-Mode ausgegeben wird.

eMode

E_CTRL_MODE

Eingang, der die Betriebsart des Bausteins festlegt.

FB_CTRL_SETPOINT_GENERATOR 4: Ausgänge

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

Name

Typ

Beschreibung

fOut

SETPOINT_
TABLE_ELEMENT

Ausgang des Sollwert-Generators

bValueReached

BOOL

Der Ausgang ist TRUE, wenn der angewählte Sollwert erreicht worden ist, also wenn das Rampen auf den angewählten Wert beendet ist.

eState

E_CTRL_STATE

State des Funktionsbausteins

eErrorId

E_CTRL_ERRORCODES

Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.

bError

BOOL

Wird TRUE, sobald ein Fehler eintritt.

FB_CTRL_SETPOINT_GENERATOR 5: Ein-/ Ausgänge

VAR_IN_OUT
    stParams    : ST_CTRL_SETPOINT_GENERATOR_PARAMS;
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_SETPOINT_
GENERATOR_
PARAMS

Parameterstruktur des Rampengenerators

stParams besteht aus den folgenden Elementen:

TYPE ST_CTRL_SETPOINT_GENERATOR_PARAMS:
STRUCT
    tCtrlCycleTime           : TIME := T#0ms;
    tTaskCycleTime           : TIME := T#0ms;
    pDataTable_ADR           : POINTER TO
     INTERPOLATION_TABLE_ELEMENT := 0;
    nDataTable_SIZEOF        : UINT := 0;
    nDataTable_NumberOfRows  : UINT := 0;
    fVeloPos         
        : FLOAT;
    fVeloNeg                 : FLOAT;
    bDisableRamping          : BOOL := FALSE;
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.
Indent: -103; margin-left: 108">

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.

pDataTable_ADR

POINTER TO INTERPOLATION_
TABLE_ELEMENT

Adresse des Daten-Arrays

nDataTable_SIZEOF

UINT

Größe des Daten-Arrays

nDataTable_NumberOfRows

UINT

Anzahl der Zeilen des Daten-Arrays

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.

bDisableRamping

BOOL

Wenn dieser Parameter TRUE ist, wird keine stetige Ausgangsgröße berechnet. Es wird sprungförmig zwischen den Ausgangswerten umgeschaltet.