Definition der Strukturen

Hinweis

Diese Version des Bausteins ist veraltet.

Sie sollten diesen Baustein nicht mehr verwenden.

TYPE ST_ParaControlValue :
STRUCT

  (* general parameters *)
  iMode                   : E_ControlMode;
  iReactionOnFailure    : E_ReactionOnFailure;
  fYTune                : LREAL;
  fYStable              : LREAL;
  dwAlarmSupp           : DWORD;
  tCtrlCycleTime        : TIME;
  tTaskCycleTime        : TIME;

  (* setpoint parameters *)
  fWMin                 : LREAL;
  fWMax                 : LREAL;

  (* start up *)
  fWStartUp             : LREAL;
  tStartUp              : TIME;
  bStartUpRamping       : BOOL;
  fWStartUpVeloPos      : LREAL;
  fWStartUpVeloNeg      : LREAL;
  fWVeloPos             : LREAL;
  fWVeloNeg             : LREAL;

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

  (* control value parameters *)
  fYMin                 : LREAL;
  fYMax                 : LREAL;
  fYManual              : LREAL;
  fYOnFailure           : LREAL;
  tPWMCycleTime         : TIME;

  (* controller settings *)
  bEnablePreController  : BOOL;
  bEnableZones          : BOOL;
  bEnableCVFilter       : BOOL;
  iFilterType           : E_FilterType;
  iControllerType       : E_ControllerType;

  (* 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

ST_ControllerParameter

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)

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

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

nAlarmOpen
Thermocouple

2#0000_0000_0000_0000_0000_0000_0000_0001

Hardware: offener Temperaturfühler

nAlarmReverse
Thermocouple

2#0000_0000_0000_0000_0000_0000_0000_0010

Hardware: verpolter Temperaturfühler

nAlarmBack
Voltage

2#0000_0000_0000_0000_0000_0000_0000_0100

Hardware: zu hohe Spannung am Temperaturfühler

nAlarmLeakage
Current

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.

nAlarmLimitLow
Low

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.

nAlarmLimitHigh
High

2#0000_0000_0000_0000_0000_1000_0000_0000

Software: obere zweite relative Temperatur überschritten.

nAlarmAbsolute
High

2#0000_0000_0000_0000_0001_0000_0000_0000

Software: obere absolute Temperatur überschritten.

nAlarmAbsolute
Low

2#0000_0000_0000_0000_0010_0000_0000_0000

Software: untere absolute Temperatur unterschritten.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT 3.1.4016

PC oder CX

Tc2_TempController