FB_CTRL_TempController

Der Temperaturreglerbaustein FB_CTRL_TempController hat verschiedene Ein- und Ausgänge die im folgenden beschrieben werden. Alle Parameter des Reglers werden über Strukturen an den Regler übergeben. Die Definition der Strukturen und Enums ist hier zu finden.

Funktionsbaustein

FB_CTRL_TempController 1:

Interface

VAR_INPUT
    eCtrlMode : E_CTRL_MODE; (* controller mode: passive, activ,check *)
    bSelSetpoint : BOOL; (* FALSE = setpoint 1, TRUE = setpoint 2*)
    fW1                     : FLOAT; (* first setpoint *)
    fW2                     : FLOAT; (* second setpoint *)
    fX                      : FLOAT; (* actual value *)
    fYManual                : FLOAT; (* manual control value *)
(* alarming inputs *)
    bOpenThermocouple       : BOOL; (* thermocouple *)
    bReverseThermocouple    : BOOL;
    bBackVoltage            : BOOL;
    bLeakage                : BOOL; (* heating system *)
    bShortCircuit           : BOOL;
    bOpenCircuit            : BOOL;
    sParaControllerExternal : ST_CTRL_ParaController; (* external controller parameter set *)
END_VAR
VAR_IN_OUT
    sControllerParameter : ST_CTRL_TempCtrlParameter; (* controller
parameter set *)
END_VAR
VAR_OUTPUT
    (* control output *)
    fYAnalog : FLOAT; (* control value analog *)
    bYPWMPos : BOOL; (* control value PWM *)
    bYPWMNeg : BOOL; (* control value PWM *)
    bYDigPos : BOOL; (* 3-Point: control value digital positive*)
    bYDigNeg : BOOL; (* 3-Point: control value digital negative*)
    (* alarming *)
    dwAlarm  : DWORD; (* max. 32 alarms *)
    (*quality of control*)
    fMaxOverShoot : FLOAT;
    tStartUpTime  : TIME;
    (* state *)
    eCtrlState    : E_CTRL_STATE := eCTRL_STATE_IDLE;
    (* controller parameter *)
    sParaControllerInternal : ST_CTRL_ParaController;
    (* general errors *)
    bError : BOOL;
    eErrorId : E_CTRL_ErrorCodes;
END_VAR

Eingänge

Name

Einheit

Wertebereich

Beschreibung

eControlMode

1

E_CTRL_MODE

Modeumschaltung.

bSelSetpoint

1

[TRUE,FALSE]

Wählt einen von zwei möglichen Sollwerten aus. Mit FALSE wird der normale Sollwert gewählt, mit TRUE der Standby-Sollwert.

fW1

°C

LREAL

Sollwert.

fW2

°C

LREAL

Standby-Sollwert im Regelfall kleiner als fW1. Mit fSelSetpoint kann zwischen fW1 und fW2 umgeschaltet werden.

fX

°C

LREAL

Istwert. Dieser Wert muss auf LREAL konvertiert werden.

fYManual

-100% - +100%

LREAL

Stellgröße im Handbetrieb.

bOpenThermocouple

1

[TRUE,FALSE]

Mit TRUE ist das Thermoelement offen. Muss von der Hardware gemeldet werden (z.B. KLxxxx).

bReverseThermocouple

1

[TRUE,FALSE]

Mit TRUE wird falsche Polarität des angeschlossenen Thermoelements gemeldet. Muss von der Hardware gemeldet werden.

bBackVoltage

1

[TRUE,FALSE]

Bei TRUE wird eine zu hohe Eingangsspannung am Thermoelement angezeigt. Muss von der Hardware gemeldet werden.

bLeakage

1

[TRUE,FALSE]

Mit TRUE wird ein Leckstrom zu Heizelement detektiert. Muss von der Hardware gemeldet werden.

bShortCircuit

1

[TRUE,FALSE]

Mit TRUE wird ein Kurzschluss im Heizelement detektiert. Muss von der Hardware gemeldet werden.

bOpenCircuit

1

[TRUE,FALSE]

Mit TRUE wird ein offener Stromkreis im Heizelement detektiert. Muss von der Hardware gemeldet werden.

sControllerParameter

keine

Struktur

In dieser Struktur werden generelle Parameter (Abtastzeiten usw.) an den Baustein übergeben.

sParaControllerExternal

keine

Struktur

In dieser Struktur wird ein externer Regler-Parametersatz an den Baustein übergeben.

Ausgänge

Name

Einheit

Wertebereich

Beschreibung

fYAnalog

keine

LREAL

Analoger Stellwert.

bYPWMPos

keine

[TRUE,FALSE]

Boolescher Ausgang pulsweitenmoduliert. Positiv/Heizbetrieb

bYPWMNeg

keine

[TRUE,FALSE]

Boolescher Ausgang pulsweitenmoduliert. Negativ/Kühlbetrieb

bYDigPos

keine

[TRUE,FALSE]

Boolscher Ausgang eines Dreipunktreglers (TRUE Stellgröße 100%, FALSE Stellgröße aus)

bYDigNeg

keine

[TRUE,FALSE]

Boolscher Ausgang eines Dreipunktreglers (TRUE Stellgröße -100%, FALSE Stellgröße aus)

dwAlarm

keine

DWORD

Alarmmeldungen (s. ENUM ...)

fMaxOverShoot

°C

LREAL

max. Überschwingen in °C über/unter Sollwert.

tStartUpTime

TIME

-

Anschwingzeit bis zum erstmaligen Erreichen des Sollwert.

eCtrlState

keine

E_CTRL_STATE

momentaner Status des Reglers (s. ENUM ...)

sParaControllerInternal

keine

Struktur

In dieser Struktur wird der interne (durch das Tuning ermittelte) Regler-Parametersatz zur Verfügung gestellt.

bError

keine

[TRUE,FALSE]

Liegt ein Fehler vor, so ist bError gleich TRUE.

iErrorId

keine

INT

Ist bError gleich TRUE, so zeigt iErrorId einen Fehlercode an (s. ENUM ...)