FB_CTRL_PARAMETER_SWITCH

FB_CTRL_PARAMETER_SWITCH 1:

Mit diesem Baustein kann der Parametersatz des FB_CTRL_PID_SPLITRANGE umgeschaltet werden.

Verhalten des Ausgangs

FB_CTRL_PARAMETER_SWITCH 2:

Beschreibung des Funktionsbausteins

Dieser Baustein dient zur Umschaltung des Parametersatzes bei dem FB_CTRL_PID_SPLITRANGE. Insbesondere ist dieser Baustein dazu gedacht, bei Regelungen, die mit zwei Stellgliedern heizen und kühlen können, die Parametersätze umzuschalten und die Begrenzungen des Reglers zu setzen. Als Eingangsparameter wird die Zeit tMinWaitTime angegeben, die bei einer Umschaltanforderung mindestens vergehen muss, damit der Parameterbereich gewechselt wird und die Reglerbegrenzungen so gesetzt werden, damit vom Heizbetrieb auf Kühlbetrieb umgeschaltet wird. Durch diese Maßnahmen soll verhindert werden, dass bei einem leichten Überschwingen des Reglers sofort die Betriebsart gewechselt wird.

Für den Heizbetrieb wird der Parameterbereich „eCTRL_PARAMETER_RECORD_HEATING = Heizen“ angewählt und für den Kühlbetrieb der Parameterbereich „eCTRL_PARAMETER_RECORD_COOLING = Kühlen“. Die Reglerparametersätze müssen entsprechend dieser Vorgabe parametriert werden.

Die eigentliche Umschaltanforderung wird mit einem 2-Punkt-Glied bestimmt (vergleiche Bild). Als Eingangsgröße für die gezeigte Hysterese-Kennlinie sollte die Reglerausgangsgröße, also die Stellgröße, verwendet werden. Eine Umschaltanforderung, die das Hysterese-Glied erzeugt, muss mindestens für die angegebene Wartezeit anliegen, damit der Parameterbereich gewechselt wird.

Mit den Eingängen bDisableRange1 und bDisableRange2 ist es möglich, die Umschaltung in einen der beiden Bereiche zu verhindern. So kann beispielsweise im Sommer der Heizbetrieb deaktiviert werden und im Winter der Kühlbetrieb. Denkbar ist es auch, den Wechsel der Betriebsart von der aktuellen Regeldifferenz abhängig zu machen. Im Sommer muss es zum Beispiel 2°C zu warm sein, damit in den Kühlbetrieb geschaltet wird. Auch dieses kann durch eine entsprechende Beschaltung der Eingänge erreicht werden.

Zusätzlich zu der Ausgabe des Parameterbereiches werden Max- und Min-Limits ausgeben, die in den Parametersatz des PID-Reglers kopiert werden können. Wenn sich der FB_CTRL_PARAMETER_SWITCH in der Betriebsart Heizen befindet, werden die Limits folgendermaßen gesetzt:

fOutMinLimit = -1.0 stParams.fThreshold;

fOutMaxLimit = stParams.fOutMaxLimit;

In der Betriebsart Kühlen werden die Limits folgendermaßen gesetzt:

fOutMinLimit = stParams.fOutMaxLimit;

fOutMaxLimit = stParams.fThreshold;

FB_CTRL_PARAMETER_SWITCH 3: VAR_INPUT

VAR_INPUT
    fManipulatedVariable  : FLOAT;
    nManSyncValue         : eCTRL_PARAMETER_RECORD_HEATING;
    bSync                 : BOOL;
    eMode                 : E_CTRL_MODE;
END_VAR

Name

Typ

Beschreibung

fManipulated
Variable

FLOAT

Eingangsgröße des FB_Parameter_Switch, diese sollte gleich der Ausgangsgröße des Reglers sein.

nManSync
Value

eCTRL_PARAMETER_RECORD_
HEATING

Eingang, mit dem der Funktionsbaustein auf einen der beiden Parameterbereiche gesetzt werden kann.

bSync

BOOL

Mit einer steigenden Flanke an diesem Eingang wird der Funktionsbaustein auf den Wert „nManSyncValue“ gesetzt.

eMode

E_CTRL_MODE

Eingang, der die Betriebsart des Bausteins festlegt.

FB_CTRL_PARAMETER_SWITCH 4: VAR_OUTPUT

VAR_OUTPUT
    eParameterRecord    : E_CTRL_PARAMETER_RECORD;
    fOutMaxLimit        : FLOAT;
    fOutMinLimit        : FLOAT;
    eState              : E_CTRL_STATE;
    eErrorId            : E_CTRL_ERRORCODES;
    bError              : BOOL;
END_VAR

Name

Typ

Beschreibung

eParameterRecord

E_CTRL_
PARAMETER_
RECORD

Ausgang des Funktionsbausteins, der den Parameterbereich angibt.

fOutMaxLimit

FLOAT

Maximale Ausgangsgröße, mit der der Regler begrenzt wird. (Sollte in die Parameter-Struktur des Reglers kopiert werden.)

fOutMinLimit

FLOAT

Minimale Ausgangsgröße, mit der der Regler begrenzt wird. (Sollte in die Parameter-Struktur des Reglers kopiert werden.)

eState

E_CTRL_
STATE

State des Funktionsbausteins

eErrorId

E_CTRL_ERROR
CODES

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

Name

Typ

Beschreibung

stParams

ST_CTRL_PARAMETER_SWITCH_PARAMS

Parameterstruktur des Funktionsbausteins

stParams besteht aus den folgenden Elementen:

TYPE
ST_CTRL_2POINT_PARAMS :
STRUCT
    tTaskCycleTime    : TIME;
    tCtrlCycleTime    : TIME;
    fThreshold        : FLOAT;
    fOutMaxLimit      : FLOAT;
    fOutMinLimit      : FLOAT;
    tMinWaitTime      : TIME;
END_STRUCT
END_TYPE

Name

Typ

Beschreibung

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.

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.

fThreshold

FLOAT

Schaltschwelle, siehe Bild oben.

fOutMaxLimit

FLOAT

Max-Limit, welches an den Regler weitergegeben wird.

fOutMinLimit

FLOAT

Min-Limit, welches an den Regler weitergegeben wird.

tMinWaitTime

TIME

Wartezeit, siehe Beschreibung oben.