FB_CTRL_nPOINT

FB_CTRL_nPOINT 1:

Der Funktionsbaustein stellt ein n-Punkt-Übertragungsglied im Wirkungsplan dar.

Verhalten des Ausgangs

FB_CTRL_nPOINT 2:

Daten-Array des Beispiels:

FB_CTRL_nPOINT 3:

Der Wert des Arrays mit dem Index (1,1), also der linke Wert in der ersten Zeile kann frei gewählt werden, da er nicht ausgewertet wird.

FB_CTRL_nPOINT 4: VAR_INPUT

VAR_INPUT
    fSetpointValue    : FLOAT;
    fActualValue      : FLOAT;
    fManValue         : BOOL;
    eMode             : E_CTRL_MODE;
END_VAR

Name

Typ

Beschreibung

fSetpointValue

FLOAT

Sollwert der Regelgröße

fActualValue

FLOAT

Istwert der Regelgröße

fManValue

BOOL

Eingang, der im Manual-Mode ausgegeben wird.

eMode

E_CTRL_MODE

Eingang, der die Betriebsart des Bausteins festlegt.

FB_CTRL_nPOINT 5: VAR_OUTPUT

VAR_OUTPUT
    fOut        : nPOINT_CTRL_TABLE_ELEMENT;
    eState      : E_CTRL_STATE;
    eErrorId    : E_CTRL_ERRORCODES;
    bError      : BOOL;
END_VAR

Name

Typ

Beschreibung

fOut

nPOINT_CTRL_
TABLE_ELEMENT

Ausgang des n-Punkt-Glieds

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_nPOINT_PARAMS;
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_nPOINT_PARAMS

Parameterstruktur des n-Punkt-Glieds

stParams besteht aus den folgenden Elementen:

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

tTaskCycle
Time

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 nPOINT_CTRL_
TABLE_
ELEMENT

Adresse der Daten-Tabelle

nDataTable_
SIZEOF

UINT

Größe der Daten-Tabelle in Bytes

nDataTable_
NumberOf
Rows

UINT

Zeilenanzahl der Daten-Tabelle

fHysteresis
Range

FLOAT

Hysterese-Bereich, siehe Bild oben. Der Hysterese-Bereich wirkt wie bei dem FB_CTRL_2POINT beschrieben.