Zum Hauptinhalt springen

Temperatur-Regelung

Diese Bibliothek kommt zum Einsatz um thermisch träge Systeme zu regeln. Dabei können vier verschiedene Datensätze für Kühlen und Heizen verwendet werden. Ebenfalls werden durch die Bausteine PWM-Signale erzeugt die zur Ansteuerung der Heizelemente verwendet werden kann.

TB_TCtrl_PWM

TB_TCtrl_PWM

Der FB TB_TCtrl_PWM generiert aus einem Array mit 4 Integer-Werten die zugehörigen PWM-Signale bzw. Ein/Aus-Signale für z.B. die Ansteuerung von Relais zur Bestromung der Heizelemente. Der FB TB_TCtrl_PWM kann zusammen mit dem FB TB_TCtrl_PIDT1 verwendet werden, dazu müssen lediglich die Stellgrößen i_Y in das Array a_PWM_Data einmal pro Regleraufruf eingetragen werden.

Der FB generiert aus dem Array mit 4 Integerwerten die digitalen Ein-/Aussignale z.B. für die Ansteuerung von Relais. Der Integerwert muss bei einer gewünschten Signaldauer von 100%, dem Aufrufintervall des Temperaturreglers in ms entsprechen. Beispiel:

Das Aufrufintervall des Temperaturreglers entspricht 3s, also 3000ms.
100% des Reglerausgangs bedeuten, dass das digitale Ausgangssignal für 3000ms an ist.
50% des Reglerausgangs bedeuten, dass das digitale Ausgangssignal für 1500ms an ist.
Der Integerwert des Arrays muss also zwischen 0 und 3000 liegen.

Empfohlene Task: Event

Verwendete Bibliotheken: TECH_TYPES_xxbd06 oder höher

Eingänge

Bezeichnung:Datentyp:Beschreibung:
x_EnableBOOLTRUE: Freigabe des Bausteins. Die Regelung ist aktiv.
FALSE: Baustein ist deaktiviert, die Ausgänge werden auf FALSE gesetzt.
i_T_CycleINTAufrufintervall des FBs TB_TCtrl_PWM in ms.

Ausgänge

Bezeichnung:Datentyp:Beschreibung:
x_ActiveBOOLTRUE: Baustein aktiv, Regelung ist aktiv.
FALSE: Baustein nicht aktiv, Ausgänge werden 0 gesetzt.
x_ErrorBOOLTRUE: Baustein hat Fehler
FALSE: Baustein hat keinen Fehler
x_TC1_PWMBOOLPWM-Signal des ersten Array-Wertes.
x_TC2_PWMBOOLPWM-Signal des zweiten Array-Wertes.
x_TC3_PWMBOOLPWM-Signal des dritten Array-Wertes.
x_TC4_PWMBOOLPWM-Signal des vierten Array-Wertes.
i_ErrorINTi_Error <> 0: Baustein hat einen Fehler, für nähere Informationen siehe Fehlerliste
s_ErrTxtSTRINGAusgabe der Fehlernummer im Klartext

Ein-/Ausgänge

Bezeichnung:Datentyp:Beschreibung:
a_PWM_DataTB_PWMArray mit 4 Integerwerten; die Werte entsprechen der Signaldauer in ms. Die Signaldauer-Werte müssen pro Regleraufruf 1x in der Temperaturreglertask geschrieben werden.
Darstellung in FBD

TB_TCtrl_PIDT1

TB_TCtrl_PIDT1

Der FB TB_TCtrl_PIDT1 ist ein PIDT1-Regler, der vor allem für die Temperaturregelung von thermisch trägen Systemen geeignet ist. Der Regler kann als PIDT1-Regler, aber auch als P-, PI-, PD- oder PDT1-Regler genutzt werden. Auch Kombinationen der Reglertypen sind möglich, z.B. für Führung PD und für Störung PIDT1, somit ist er für nahezu alle denkbaren Regelstrecken einsetzbar.

Der Regler kann als PIDT1-Regler, aber auch als PI- PD- oder PDT1-Regler genutzt werden.

Mit x_Enable=TRUE wird der Baustein aktiviert. Die erfolgte Aktivierung wird mit TRUE am Ausgang x_Active gemeldet. Ab diesem Zeitpunkt ist der Regler aktiv und berechnet die Ausgangsgrößen. Mit x_Enable=FALSE werden alle Ausgangsgrößen auf 0 gesetzt.

Der Regler arbeitet mit 4 Datensätzen für Führung (Kühlen und Heizen) und Störung (Kühlen und Heizen). Da häufig nur aktive geheizt aber nicht gekühlt werden kann, sind unterschiedliche Parameter für Heizen und Kühlen erforderlich.

Die Umschaltung zwischen Führung und Störung wird mit u_Thresh_RD bestimmt. Falls mit den gleichen Parametern sowohl für Führung und Störung gearbeitet werden soll, sind die Parameter trotzdem anzuschließen.

Einstellregeln nach Chien, Hrones und Reswick zur Ermittlung der Parameter sind unter „Einstellregeln" dieser Hilfe zu finden. Natürlich können auch andere Methoden zur Parameterfindung angewandt werden.

Die Ansteuerung des Stellglieds kann z.B. mit dem PWM-Generator TB_TCtrl_PWM erfolgen.

Empfohlene Task: Event/Cyclic, wichtig ist ein festes Aufrufintervall!

Verwendete Bibliotheken: ARITHMETIC_xxbd00 oder höher

Eingänge

Bezeichnung:Datentyp:Beschreibung:
x_EnableBOOLTRUE: Freigabe des Bausteins. Die Regelung ist aktiv.
FALSE: Baustein ist deaktiviert, die Ausgänge werden auf 0 gesetzt.
i_WINTDer Eingang i_W stellt die Führungsgröße dar. Die Einheit bzw. die Größe muss gleich der Einheit des Istwertes i_X sein.
i_XINTDer Eingang i_X stellt den Istwert dar. Die Einheit bzw. die Größe muss gleich der Einheit der Führungsgröße i_W sein.
i_PreControlINTMit dem Eingang i_PreControl kann die Stellgröße vorgesteuert werden. Der Eingang wird direkt auf die Stellgröße i_Y addiert, jedoch auch bei Über- oder Unterschreiten der Limits begrenzt.
Die Einheit muss daher der Einheit der Stellgröße i_Y entsprechen.
u_Kp_Pro_R_HUINTProportionalbeiwert für Führung und Heizen in Prozent.
u_tn_0s1_R_HUINTNachstellzeit für Führung und Heizen in 0.1s.
0: I-Anteil ausgeschaltet.
u_tv_0s1_R_HUINTVorhaltzeit für Führung und Heizen in 0.1s.
0: D-Anteil ausgeschaltet.
u_T1_0s1_R_HUINTProportionalbeiwert für Störung und Heizen in Prozent.
u_Kp_Pro_D_HUINTProportionalbeiwert für Störung und Heizen in Prozent.
u_tn_0s1_D_HUINTNachstellzeit für Störung und Heizen in 0.1s.
0: I-Anteil ausgeschaltet.
u_tv_0s1_D_HUINTVorhaltzeit für Störung und Heizen in 0.1s.
0: D-Anteil ausgeschaltet.
u_T1_0s1_D_HUINTVorhaltzeit für Störung und Heizen in 0.1s.
u_Kp_Pro_R_CUINTProportionalbeiwert für Führung und Kühlen in Prozent.
u_tn_0s1_R_CUINTNachstellzeit für Führung und Kühlen in 0.1s.
0: I-Anteil ausgeschaltet.
u_tv_0s1_R_CUINTVorhaltzeit für Führung und Kühlen in 0.1s.
0: D-Anteil ausgeschaltet.
u_T1_0s1_R_CUINTZeitkonstante des DT1-Glieds für Führung und Kühlen in 0.1s.
u_Kp_Pro_D_CUINTProportionalbeiwert für Störung und Kühlen in Prozent.
u_tn_0s1_D_CUINTNachstellzeit für Störung und Kühlen in 0.1s.
0: I-Anteil ausgeschaltet.
u_tv_0s1_D_CUINTVorhaltzeit für Störung und Kühlen in 0.1s.
0: D-Anteil ausgeschaltet.
u_T1_0s1_D_CUINTZeitkonstante des DT1-Glieds für Störung und Kühlen in 0.1s.
u_Ts_0s1UINTAufrufintervall des FBs in 0.1s.
u_Thresh_RDUINTUmschaltung der Parameter zwischen Führung und Störung. Ist ABS(i_W-i_X) <= u_Thresh_RD, wird von Führung nach Störung umgeschaltet. Von Störung nach Führung wird erst wieder umgeschaltet, wenn ein Führungsgrößensprung erfolgt.
i_RampUpINTPositive Änderung der Führungsgröße pro Aufruf. Hiermit kann ein positiver Führungsgrößensprung gerampt werden.
i_RampDownINTNegative Änderung der Führungsgröße pro Aufruf. Hiermit kann ein negativer Führungsgrößensprung gerampt werden.
i_ULimitINTObere Begrenzung der Stellgröße.
i_LLimitINTUntere Begrenzung der Stellgröße.
u_X_RefUINTWert des Istwertes i_X, der 100% darstellt.
u_Y_RefUINT

Ausgänge

Bezeichnung:Datentyp:Beschreibung:
x_ActiveBOOLTRUE: Baustein aktiv, Regelung ist aktiv.
FALSE: Baustein nicht aktiv, Ausgänge werden 0 gesetzt.
x_ErrorBOOLTRUE: Baustein hat Fehler
FALSE: Baustein hat keinen Fehler
i_YINTStellgröße des Reglers.
i_XWINTRegeldifferenz i_W – i_X.
i_PINTP-Anteil der Stellgröße des Reglers.
i_IINTI-Anteil der Stellgröße des Reglers.
i_DINTD-Anteil der Stellgröße des Reglers.
i_ErrorINTi_Error <> 0: Baustein hat einen Fehler, für nähere Informationen siehe Fehlerliste
s_ErrTxtSTRINGAusgabe der Fehlernummer im Klartext
Darstellung in FBD