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 |
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. |
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. |
Name | Beschreibung |
---|---|
CTRLMODE_HEATING | Nur Heizen |
CTRLMODE_COOLING | Nur Kühlen |
CTRLMODE_HEATING_COOLING | Heizen und Kühlen |
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) |
Name | Beschreibung |
---|---|
E_FilterType_FIRSTORDER | Filter erster Ordnung |
E_FilterType_AVERAGE | Mittelwertfilter |
Name | Beschreibung |
---|---|
E_ControllerType_PID | Standard-PID Regelalgorithmus |
E_ControllerType_PIDD2 | geplanter serieller PID Regelalgorithmus |
Bit-Masken für Alarme
Name | Maske | Beschreibung |
---|---|---|
nAlarmOpen | 2#0000_0000_0000_0000_0000_0000_0000_0001 | Hardware: offener Temperaturfühler |
nAlarmReverse | 2#0000_0000_0000_0000_0000_0000_0000_0010 | Hardware: verpolter Temperaturfühler |
nAlarmBack | 2#0000_0000_0000_0000_0000_0000_0000_0100 | Hardware: zu hohe Spannung am Temperaturfühler |
nAlarmLeakage | 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 | 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 | 2#0000_0000_0000_0000_0000_1000_0000_0000 | Software: obere zweite relative Temperatur überschritten. |
nAlarmAbsolute | 2#0000_0000_0000_0000_0001_0000_0000_0000 | Software: obere absolute Temperatur überschritten. |
nAlarmAbsolute | 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 |