Definition der Strukturen

ST_ControllerParameter

TYPE ST_ParaControlValue :
STRUCT
   
(***********************************************************************)

    (* general parameters *)
    iMode : E_ControlMode; (* 1=heating, 2=cooling,
3=heating&cooling *)
    iReactionOnFailure : E_ReactionOnFailure; (* 0=controller off,
1=manual op, 2=yMin, 3=yMax *)
    fYTune : LREAL; (* step change while tuning operation *)
    fYStable : LREAL; (* tuning operation *)
    dwAlarmSupp : DWORD; (* alarm suppression *)
    tCtrlCycleTime : TIME; (* controller cycle time *)
    tTaskCycleTime : TIME; (* plc task cycle time *)
   
(***********************************************************************)

    (* setpoint parameters *)
    fWMin : LREAL; (* lower limit *)
    fWMax : LREAL; (* upper limit *)
    (* start up *)
    fWStartUp : LREAL; (* soft start plateau setpoint *)
    tStartUp : TIME; (* soft start waiting time*)
    bStartUpRamping : BOOL; (* enable ramping while start up phase
*)
    fWStartUpVeloPos : LREAL; (* max gradient for increasing
setpoint in start up phase*)
    fWStartUpVeloNeg : LREAL; (* max gradient for decreasing
setpoint in start up phase *)
    fWVeloPos : LREAL; (* max gradient for increasing setpoint
*)
    fWVeloNeg : LREAL; (* max gradient for decreasing setpoint
*)
   
(***********************************************************************)

    (* actual value parameters *)
    bFilter : BOOL;
    tFilter : TIME;
   
(***********************************************************************)

    (* control value parameters *)
    fYMin : LREAL; (* lower limit *)
    fYMax : LREAL; (* upper limit *)
    fYManual : LREAL; (* manual operation*)
    fYOnFailure : LREAL; (* control value on failure *)
    tPWMCycleTime : TIME; (* PWM *)
   
(***********************************************************************)

    (* controller settings *)
    bEnablePreController : BOOL; (* enable precontroller *)
    bEnableZones : BOOL; (* enable zone around setpoint with open
loop control *)
    bEnableCVFilter : BOOL; (* enable filter for CV (type see
iFilterType) *)
    iFilterType : E_FilterType; (* filtertype of CV filter *)
    iControllerType : E_ControllerType; (* used controller normally
PID *)
   
(***********************************************************************)

    (* min max temperatures *)
    TempLow : LREAL;
    TempLowLow : LREAL;
    TempHigh : LREAL;
    TempHighHigh : LREAL;
    TempAbsoluteHigh : LREAL;
    TempAbsoluteLow : LREAL;
   
(***********************************************************************)

    (* internal tuning parameters *)
    fTuneKp : LREAL := 1.2;
    fTuneTn : LREAL := 2.0;
    fTuneTv : LREAL := 0.42;
    fTuneTd : LREAL := 0.25;
END_STRUCT
END_TYPE

Beschreibung

Name

Einheit

Wertebereich

Beschreibung

iMode

keine

INT

Reglerbetriebsmode (1 = heating, 2 = cooling, 3 = heating&cooling) (s.u.)

iReactionOnFailure

keine

INT

Parametrierbare Reaktion auf Fehler (s.u.)

fYTune

keine

LREAL

Stellgröße während der Selbsteinstellung (normalerweise 100%)

fYStable

keine

LREAL

Stellgröße während der Beruhigungsphase (normalerweise 0%)

dwAlarmSupp

keine

DWORD

Maskiert die Alarme aus (s.u.)

tCtrlCycleTime

s

TIME

Abtastzeit des Reglers. Der Regler errechnet im Takt dieser Abtastzeit neue Werte für die Stellgröße.

tTaskCycleTime

s

TIME

Zykluszeit der Task. Der FB wird im Takt der Task aufgerufen.

fWMin

K

LREAL

Minimale Sollgröße.

fWMax

K

LREAL

Maximale Sollgröße.

fWVeloPos

K/s

LREAL

Anstiegsgeschwindigkeit (Rampe).

fWVeloNeg

K/s

LREAL

Abfallgeschwindigkeit (Rampe).

fWStartUp

K

LREAL

Sollgröße beim Anfahren.

tStartUp

s

TIME

Zeit mit Sollwert fWStartUp.

bStartUpRamping

keine

[TRUE,FALSE]

Schaltet Verrampung während der StartUp-Phase ein.

fWStartUpVeloPos

K/s

LREAL

Anstiegsgeschwindigkeit (Rampe) während der StartUp-Phase.

fWStartUpVeloNeg

K/s

LREAL

Abfallgeschwindigkeit (Rampe) während der StartUp-Phase

fYMin

keine

LREAL

Minimalwert der Stellgröße.

fYMax

keine

LREAL

Maximalwert der Stellgröße.

fYManual

keine

LREAL

Stellgröße im Handbetrieb.

fYOnFailure

keine

LREAL

Stellgröße im Fehlerfall (parametrierbar).

tPWMCycleTime

s

TIME

Zykluszeit des PWM Signals.

tFilter

s

TIME

Filterzeitkonstante des Istwertfilters (P-T1 Filter 1. Ordnung)

bFilter

keine

[TRUE,FALSE]

Mit TRUE wird der Istwertfiler aktiviert.

bEnablePreController

keine

[TRUE,FALSE]

Schaltet Vorregler ein.

bEnableZones

keine

[TRUE,FALSE]

Schaltet OpenLoop Verhalten bis nahe Sollwert ein.

bEnableCVFilter

keine

[TRUE,FALSE]

Schaltet Stellgrößenfilter hinter Hauptregler ein.

iFilterType

keine

ENUM

Wahl eines Filtertypes für den Stellgrößenfilter hinter dem Hauptregler (s.u.).

iControllerType

keine

ENUM

Wahl eines Regelalgorithmus (s.u.)

TempLow

K

LREAL

Relativer unterer Temperaturgrenzwert im ersten Band.

TempLowLow

K

LREAL

Relativer unterer Temperaturgrenzwert im zweiten Band.

TempHigh

K

LREAL

Relativer oberer Temperaturgrenzwert im ersten Band.

TempHighHigh

K

LREAL

Relativer oberer Temperaturgrenzwert im zweiten Band.

TempAbsoluteHigh

K

LREAL

Absoluter oberer Temperaturgrenzwert.

TempAbsoluteLow

K

LREAL

Absoluter unterer Temperaturgrenzwert.

fTuneKp

keine

LREAL

FineTuning Parameter für den PID Regler (nur für Experten)

fTuneTn

keine

LREAL

FineTuning Parameter für den PID Regler (nur für Experten)

fTuneTv

keine

LREAL

FineTuning Parameter für den PID Regler (nur für Experten)

fTuneTd

keine

LREAL

FineTuning Parameter für den PID Regler (nur für Experten)

Beschreibung

ST_ParaController

TYPE ST_ParaController :
STRUCT
    (* Main Controller parameter set *)
    KpMain : LREAL;
    TnMain : LREAL;
    TvMain : LREAL;
    TdMain : LREAL;
    (* Pre Controller parameter set *)
    KpPre : LREAL;
    TvPre : LREAL;
    TdPre : LREAL;
END_STRUCT
END_TYPE

Beschreibung

Name

Einheit

Wertebereich

Beschreibung

KpMain

keine

LREAL

Verstärkungsfaktor für Hauptregler.

TnMain

s

TIME

Nachstellzeit für Hauptregler (I-Anteil).

TvMain

s

TIME

Vorhaltzeit für Hauptregler (D-Anteil).

TdMain

s

TIME

Dämpfungszeit für Hauptregler.

KpPre

keine

LREAL

Verstärkungsfaktor für Vorregler.

TvPre

s

TIME

Vorhaltzeit für Vorregler (D-Anteil).

TdPre

s

TIME

Dämpfungszeit für Vorregler.

ENUM: Errorcodes

Name

Beschreibung

TC_ERR_NOERROR

Kein Fehler.

TC_ERR_INVALIDPARAM

Ungültige Parameter.

TC_ERR_NO_INIT

Baustein Initialisierung fehlt.

TC_ERR_NO_INFLECTION_POINT

Bei der Selbsteinstellung wurde kein Wendepunkt gefunden. Es konnten keine Parameter ermittelt werden.

TC_ERR_INVALID_PARAM

Ungültige Parameter.

TC_ERR_INVALID_CYCLETIME

Ungültige Kombination von Zykluszeiten (Abtastzeiten und PWM Zykluszeiten).

TC_ERR_WRONG_TU

Es konnte durch eine fehlerhafte oder abgebrochene Selbsteinstellung kein gültiger Parameter Tu gefunden werden.

ENUM: ReactionOnFailure

Name

Beschreibung

TC_OnFailureNoFailure

Kein Fehler.

TC_OnFailureStopController

Wenn Fehler (Alarm), dann stoppe Regler.

TC_OnFailureSetManMode

Wenn Fehler (Alarm), dann schalte Regler in Handbetrieb.

TC_OnFailureSetYMax

Wenn Fehler (Alarm), dann setze Stellgröße auf maximalen Wert.

TC_OnFailureSetYMin

Wenn Fehler (Alarm), dann setze Stellgröße auf minimalen Wert.

ENUM: ST_ControlMode

Name

Beschreibung

CTRLMODE_HEATING

Nur Heizen.

CTRLMODE_COOLING

Nur Kühlen.

CTRLMODE_HEATING_COOLING

Heizen und Kühlen.

ENUM: states

Name

Beschreibung

TC_STATE_IDLE

Regler abgeschaltet.

TC_STATE_INIT

Regler wird initialisiert.

TC_STATE_OFF

Regler ausgeschaltet, war vorher eingeschaltet.

TC_STATE_TUNE

Regler im Tuning - Selbsteinstellungszustand.

TC_STATE_MANUAL_OPERATION

Regler im Handbetrieb.

TC_STATE_CLOSED_LOOP

Regler im Automatikbetrieb.

TC_STATE_TUNE_IDLE

Tuning gestartet, aber noch nicht angelaufen. Abwarten von Ruhezustand.

TC_STATE_TUNE_PULSE

Puls zum Ermitteln der Totzeit.

TC_STATE_TUNE_STEP

Sprung zum Ermitteln von Totzeit und max. Geschwindigkeit.

TC_STATE_TUNE_READY

Selbsteinstellung abgeschlossen.

TC_STATE_ERROR

Fehler (logischer Fehler).

ENUM: E_FilterType

Name

Beschreibung

E_FilterType_FIRSTORDER

Filter erster Ordnung.

E_FilterType_AVERAGE

Mittelwertfilter.

ENUM: E_ControllerType

Name

Beschreibung

E_ControllerType_PID

Standard-PID Regelalgorithmus.

E_ControllerType_PIDD2

geplanter serieller PID Regelalgorithmus.

Bit-Masken für Alarme

Name

Maske

Beschreibung

nAlarmOpenThermocouple

2#0000_0000_0000_0000_0000_0000_0000_0001

Hardware: offener Temperaturfühler

nAlarmReverseThermocouple

2#0000_0000_0000_0000_0000_0000_0000_0010

Hardware: verpolter Temperaturfühler

nAlarmBackVoltage

2#0000_0000_0000_0000_0000_0000_0000_0100

Hardware: zu hohe Spannung am Temperaturfühler

nAlarmLeakageCurrent

2#0000_0000_0000_0000_0000_0000_0000_1000

Hardware: Leckstrom gemessen

nAlarmShortCircuit

2#0000_0000_0000_0000_0000_0000_0001_0000

Hardware: Kurzschluss

nAlarmOpenCircuit

2#0000_0000_0000_0000_0000_0000_0010_0000

Hardware: kein Strom

nAlarmLimitLow

2#0000_0000_0000_0000_0000_0001_0000_0000

Software: untere erste relative Temperatur unterschritten

nAlarmLimitLowLow

2#0000_0000_0000_0000_0000_0010_0000_0000

Software: untere zweite relative Temperatur unterschritten

nAlarmLimitHigh

2#0000_0000_0000_0000_0000_0100_0000_0000

Software: obere erste relative Temperatur überschritten

nAlarmLimitHighHigh

2#0000_0000_0000_0000_0000_1000_0000_0000

Software: obere zweite relative Temperatur überschritten

nAlarmAbsoluteHigh

2#0000_0000_0000_0000_0001_0000_0000_0000

Software: obere absolute Temperatur überschritten

nAlarmAbsoluteLow

2#0000_0000_0000_0000_0010_0000_0000_0000

Software: untere absolute Temperatur unterschritten