FB_CTRL_LIN_INTERPOLATION

FB_CTRL_LIN_INTERPOLATION 1:

Dieser Baustein gibt aus einer Stützstellentabelle den linear interpolierten Wert aus.

Verhalten des Ausgangs

fIn

fOut

arrTable[1,1] := 10;

arrTable[1,2] := 7;

arrTable[2,1] := 15;

arrTable[2,2] := 10;

arrTable[3,1] := 21;

arrTable[3,2] := 9;

arrTable[4,1] := 22;

arrTable[4,2] := 2;

arrTable[5,1] := 30;

arrTable[5,2] := 3;

arrTable[6,1] := 40;

arrTable[6,2] := 6;

FB_CTRL_LIN_INTERPOLATION 2:

FB_CTRL_LIN_INTERPOLATION 3: VAR_INPUT

VAR_INPUT
    fIn           : FLOAT;
    fManValue     : FLOAT;
    bExtrapolate  : BOOL;
    eMode         : E_CTRL_MODE;
END_VAR

Name

Typ

Beschreibung

fIn

FLOAT

Eingangsgröße des Interpolationsbausteins

fManValue

FLOAT

Eingangsgröße, dessen Wert im Manual-Mode ausgegeben wird.

bExtrapolate

BOOL

Wenn dieser Eingang FALSE ist, wird bei Überschreiten der Tabellengrenze der Wert der letzten Stützstelle ausgegeben. Wenn ein TRUE anliegt, wird mit den letzten zwei Stützstellen extrapoliert.

eMode

E_CTRL_MODE

Eingang, der die Betriebsart des Bausteins festlegt.

FB_CTRL_LIN_INTERPOLATION 4: VAR_OUTPUT

VAR_OUTPUT
    fOut                        : FLOAT;
    bInIsGreaterThanMaxElement  : BOOL;
    bInIsLessThanMinElement     : BOOL;
    eState                      : E_CTRL_STATE;
    eErrorId                    : E_CTRL_ERRORCODES;
    bError                      : BOOL;
END_VAR

Name

Typ

Beschreibung

fOut

FLOAT

Linear interpolierter Tabellenwert

bInIsGreater
ThanMax
Element

BOOL

Ein TRUE an diesem Ausgang signalisiert, dass die Eingangsgröße größer ist als die größte Stützestelle.

bInIsLessThan
Min
Element

BOOL

Ein TRUE an diesem Ausgang signalisiert, dass die Eingangsgröße kleiner ist als die kleinste Stützestelle.

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.

VAR_IN_OUT

VAR_IN_OUT
    stParams        : ST_CTRL_LIN_INTERPOLATION_PARAMS;
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_LIN_INTERPOLATION_
PARAMS

Parameterstruktur des Interpolations-Glieds

stParams besteht aus den folgenden Elementen:

TYPE ST_CTRL_2POINT_PARAMS :
STRUCT
    tCtrlCycleTime           : TIME := T#0ms;
    tTaskCycleTime           : TIME := T#0ms;
    pDataTable_ADR           : POINTER TO FLOAT := 0;
    nDataTable_SIZEOF        : UINT     := 0;
    nDataTable_NumberOfRows  : UINT     := 0;
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.

pDataTable_
ADR

POINTER TO FLOAT

Adresse des n x 2 - Arrays, welches linear interpoliert wird.

nDataTable_
SIZEOF

UINT

Größe des n x 2 - Arrays

nDataTable_
NumberOfRows

UINT

Anzahl der Zeilen des Arrays