FB_CTRL_nPOINT

FB_CTRL_nPOINT 1:

Der Funktionsbaustein stellt ein nPunkt-Ü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 1. Zeile kann frei gewählt werden, da er nicht ausgewertet wird.

VAR_INPUT

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

fSetpointValue : Sollwert der Regelgröße.

fActualValue : Istwert der Regelgröße.

fManValue : Eingang, der im Manual-Mode ausgegeben wird.

eMode : Eingang, der die Betriebsart des Bausteins festlegt.

VAR_OUTPUT

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

fOut : Ausgang des nPunkt-Glieds.

eState : State des Funktionsbausteins.

eErrorId : Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.

bError : Wird TRUE, sobald ein Fehler eintritt.

VAR_IN_OUT

VAR_IN_OUT
    stParams        : ST_CTRL_nPOINT_PARAMS;
END_VAR

stParams : Parameterstruktur des nPunkt-Glieds. Diese besteht aus den folgenden Elementen:

TYPE
ST_CTRL_nPOINT_PARAMS :
STRUCT
    tCtrlCycleTime        : TIME     := T#0ms; (*
controller cycle time [TIME] *)
    tTaskCycleTime        : TIME     := T#0ms; (* task
cycle time [TIME] *)
    pDataTable_ADR        : POINTER TO
nPOINT_CTRL_TABLE_ELEMENT := 0;
    nDataTable_SIZEOF     : UINT := 0;
    nDataTable_NumberOfRows   : UINT := 0;
    fHysteresisRange      : FLOAT;         (* range of
the hysteresis loop *)
END_STRUCT
END_TYPE

tCtrlCycleTime : 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 : 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 :Adresse der Daten-Tabelle.

nDataTable_SIZEOF :Größe der Daten-Tabelle in Bytes.

nDataTable_NumberOfRows :Zeilenanzahl der Daten-Tabelle.

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

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.8

PC (i386)

TcControllerToolbox.lib

TwinCAT v2.9 ab Build 947

BC

TcControllerToolbox.lb6

TwinCAT v2.9 ab Build 956

BX

TcControllerToolbox.lbx