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 |
---|---|---|---|
| keine | INT | Reglerbetriebsmode (1 = heating, 2 = cooling, 3 = heating&cooling) (s.u.) |
| keine | INT | Parametrierbare Reaktion auf Fehler (s.u.) |
| keine | LREAL | Stellgröße während der Selbsteinstellung (normalerweise 100%) |
| keine | LREAL | Stellgröße während der Beruhigungsphase (normalerweise 0%) |
| keine | DWORD | Maskiert die Alarme aus (s.u.) |
| s | TIME | Abtastzeit des Reglers. Der Regler errechnet im Takt dieser Abtastzeit neue Werte für die Stellgröße. |
| s | TIME | Zykluszeit der Task. Der FB wird im Takt der Task aufgerufen. |
| K | LREAL | Minimale Sollgröße. |
| K | LREAL | Maximale Sollgröße. |
| K/s | LREAL | Anstiegsgeschwindigkeit (Rampe). |
| K/s | LREAL | Abfallgeschwindigkeit (Rampe). |
| K | LREAL | Sollgröße beim Anfahren. |
| s | TIME | Zeit mit Sollwert fWStartUp. |
| keine | [TRUE,FALSE] | Schaltet Verrampung während der StartUp-Phase ein. |
| K/s | LREAL | Anstiegsgeschwindigkeit (Rampe) während der StartUp-Phase. |
| K/s | LREAL | Abfallgeschwindigkeit (Rampe) während der StartUp-Phase |
| keine | LREAL | Minimalwert der Stellgröße. |
| keine | LREAL | Maximalwert der Stellgröße. |
| keine | LREAL | Stellgröße im Handbetrieb. |
| keine | LREAL | Stellgröße im Fehlerfall (parametrierbar). |
| s | TIME | Zykluszeit des PWM Signals. |
| s | TIME | Filterzeitkonstante des Istwertfilters (P-T1 Filter 1. Ordnung) |
| keine | [TRUE,FALSE] | Mit TRUE wird der Istwertfiler aktiviert. |
| keine | [TRUE,FALSE] | Schaltet Vorregler ein. |
| keine | [TRUE,FALSE] | Schaltet OpenLoop Verhalten bis nahe Sollwert ein. |
| keine | [TRUE,FALSE] | Schaltet Stellgrößenfilter hinter Hauptregler ein. |
| keine | ENUM | Wahl eines Filtertypes für den Stellgrößenfilter hinter dem Hauptregler (s.u.). |
| keine | ENUM | Wahl eines Regelalgorithmus (s.u.) |
| K | LREAL | Relativer unterer Temperaturgrenzwert im ersten Band. |
| K | LREAL | Relativer unterer Temperaturgrenzwert im zweiten Band. |
| K | LREAL | Relativer oberer Temperaturgrenzwert im ersten Band. |
| K | LREAL | Relativer oberer Temperaturgrenzwert im zweiten Band. |
| K | LREAL | Absoluter oberer Temperaturgrenzwert. |
| K | LREAL | Absoluter unterer Temperaturgrenzwert. |
| keine | LREAL | FineTuning Parameter für den PID Regler (nur für Experten) |
| keine | LREAL | FineTuning Parameter für den PID Regler (nur für Experten) |
| keine | LREAL | FineTuning Parameter für den PID Regler (nur für Experten) |
| 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 |
---|---|---|---|
| keine | LREAL | Verstärkungsfaktor für Hauptregler. |
| s | TIME | Nachstellzeit für Hauptregler (I-Anteil). |
| s | TIME | Vorhaltzeit für Hauptregler (D-Anteil). |
| s | TIME | Dämpfungszeit für Hauptregler. |
| keine | LREAL | Verstärkungsfaktor für Vorregler. |
| s | TIME | Vorhaltzeit für Vorregler (D-Anteil). |
| s | TIME | Dämpfungszeit für Vorregler. |
ENUM: Errorcodes
Name | Beschreibung |
---|---|
| Kein Fehler. |
| Ungültige Parameter. |
| Baustein Initialisierung fehlt. |
| Bei der Selbsteinstellung wurde kein Wendepunkt gefunden. Es konnten keine Parameter ermittelt werden. |
| Ungültige Parameter. |
| Ungültige Kombination von Zykluszeiten (Abtastzeiten und PWM Zykluszeiten). |
| Es konnte durch eine fehlerhafte oder abgebrochene Selbsteinstellung kein gültiger Parameter Tu gefunden werden. |
ENUM: ReactionOnFailure
Name | Beschreibung |
---|---|
| Kein Fehler. |
| Wenn Fehler (Alarm), dann stoppe Regler. |
| Wenn Fehler (Alarm), dann schalte Regler in Handbetrieb. |
| Wenn Fehler (Alarm), dann setze Stellgröße auf maximalen Wert. |
| Wenn Fehler (Alarm), dann setze Stellgröße auf minimalen Wert. |
ENUM: ST_ControlMode
Name | Beschreibung |
---|---|
| Nur Heizen. |
| Nur Kühlen. |
| Heizen und Kühlen. |
ENUM: states
Name | Beschreibung |
---|---|
| Regler abgeschaltet. |
| Regler wird initialisiert. |
| Regler ausgeschaltet, war vorher eingeschaltet. |
| Regler im Tuning - Selbsteinstellungszustand. |
| Regler im Handbetrieb. |
| Regler im Automatikbetrieb. |
| Tuning gestartet, aber noch nicht angelaufen. Abwarten von Ruhezustand. |
| Puls zum Ermitteln der Totzeit. |
| Sprung zum Ermitteln von Totzeit und max. Geschwindigkeit. |
| Selbsteinstellung abgeschlossen. |
| Fehler (logischer Fehler). |
ENUM: E_FilterType
Name | Beschreibung |
---|---|
| Filter erster Ordnung. |
| Mittelwertfilter. |
ENUM: E_ControllerType
Name | Beschreibung |
---|---|
| Standard-PID Regelalgorithmus. |
| 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 |