PID Regler - Drigend HILFE!!

Divo12

Level-1
Beiträge
23
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich hab das Forum hier nach meinem Problem durchsucht, aber leider bin ich nicht fündig geworden. Vielleicht kann mit einer von euch helfen.
Es geht um folgendes.

Ich benutze einen PID Regler um einen Tank, der mit Wasser gefühlt ist, aufzuheizen. Das klappt auch soweit sehr gut, ich hab jetzt nur ein kleines Problem. Auf Grund der Bestandteile, die dem Wasser bei gefügt werden, muss ich dafür sorgen, dass der Regler sich der gewünschten Temperatur nur sehr langsam näher. Wie mach ich das?? Hat jemand Erfahrung in der Hinsicht??

Vielen Dank vor ab, an alle, die sich die Zeit nehmen zu antworten.
 
Um die Anstiegszeit zu erhöhen muss pauschal erstmal die Proportionalverstärkung des Reglers verringert werden. Damit dämpft die Regelung mehr.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die schnelle Antwort. Soweit betrachtet, ist das schon der richtige Ansatz, aber ist die Dämpfung dann auch zu spüren, wenn er über die Temperatur hinausschiesst und wieder gegen regeln soll, sprich schliessen soll??
 
Samiel schrieb:
Um die Anstiegszeit zu erhöhen muss pauschal erstmal die Proportionalverstärkung des Reglers verringert werden. Damit dämpft die Regelung mehr.

@Samiel: Da hast du prinzipiell Recht. Du musst aber aufpassen, dass du den I-Anteil auch entsprechend zurücknimmst, da dein System sonst zum Überschwingen neigen kann.

@Divo12: Wirklich richtig machst du es, wenn du die Anlage im Stellbetrieb fährst und einen Sprung der Stellgröße ausführst. Die Sprungantwort der Regelgröße zeigt dir ganz genau, welche dynamischen Eigenschaften, sprich Zeitkonstanten dein System hat. (Wenn du in deiner Ausbildung / Studium Regelungstechnik hattest weißt du jetzt wovon ich spreche)
Eine Möglichkeit der Reglereinstellung wäre das Verfahren nach Chien, Rhones und Reswick mit 0% Überschwingen.
Bei der Aufnahme der Sprungantwort solltest du darauf achten, dass du bei der Temperatur rauskommst, die dann auch deine Arbeitstemperatur ist.

mfg
MrLeeh
 
@ Mr Leeh: Auch dir danke für die schnelle Antwort. Leider hab ich dieses Fach nicht studiert. Bin nur ein sehr interessierter S7 Programmierer.
Und ich glaube, dass was du mir da beschrieben hast, übersteigt mein momentanes Wissen.
Ich bin auf der Suche nach einer einfachen Lösung, was das langsame aufheizen eines Kessels mit einem Fassungsvermögen von 1100 L angeht.
Könnte man das ganze vielleicht über einen Rampengenerator realisieren?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Über die Parametrierung des PID-Reglers kannst du nur die Dämpfung einstellen. Damit kannst du verhindern, dass die Temperatur des Kessels überschwingt indem du den P und den I-Anteil runternimmst. Damit kannst du das Aufheizen aber nur bedingt drosseln.

Wenn du es noch langsamer brauchst dann kannst du den Sollwert des Reglers über einen Rampengenerator langsam erhöhen. Ich habe deinen Vorschlag so verstanden. Auf keinen Fall solltest du aber die Rampe auf die Stellgröße aufschalten und den Prozess als Steuerung betreiben.

mfg
MrLeeh
 
@ Mr Leeh: Was währe deiner Meinung nach die besser Lösung, was das generieren und verwenden der Rampe angeht?
 
Vielleicht hilft mir und euch mein momentaner Baustein Zustand, die Sache besser zu erleutern.

CALL "FC Rampe generator"
Freigabe_Inkr :="DB Controler".P_TE001_RV02.SPS_initial_Regler
Wert_plus :=1.000000e+001
Max_Wert :="DB Controler".P_TE001_RV02.Setpoint
Imp_Sekunde :="impuls 1 second"
Pause_in_Sekunden :=3
Reset :=M111.2
Speicher_Pausenzeit:=#Speicher_Pausenzeit
Ausgabewert :="DB Controler".P_TE001_RV02.Ausg_Stellwert



// PID-Controler
//===============================================

CALL "FB PID-controler" , "In-DB-Contr-TE001_RV02"
COM_RST :="DB Controler".P_TE001_RV02.SPS_initial_Regler
MAN_ON :="DB Controler".P_TE001_RV02.SPS_Hand_Modus
PVPER_ON:=FALSE
P_SEL :=TRUE
I_SEL :=TRUE
INT_HOLD:=FALSE
I_ITL_ON:=FALSE
D_SEL :=FALSE
CYCLE :=T#20MS
SP_INT :="DB Controler".P_TE001_RV02.Setpoint
PV_IN :="DB_Measerment_Point".TE001_TIC_03.act_value
PV_PER :=
MAN :="DB Controler".P_TE001_RV02.manual_value
GAIN :="DB Controler".P_TE001_RV02.KP
TI :=
TD :=
TM_LAG :=T#5MS
DEADB_W :="DB Controler".P_TE001_RV02.DEADB_W
LMN_HLM :="DB Controler".P_TE001_RV02.LMN_max
LMN_LLM :="DB Controler".P_TE001_RV02.LMN_min
PV_FAC :=1.000000e+000
PV_OFF :=0.000000e+000
LMN_FAC :=1.000000e+000
LMN_OFF :=0.000000e+000
I_ITLVAL:=0.000000e+000
DISV :=0.000000e+000
LMN :="DB Controler".P_TE001_RV02.Ausg_Stellwert
LMN_PER :="PAW 262"
QLMN_HLM:=
QLMN_LLM:=
LMN_P :=
LMN_I :=
LMN_D :=
PV :=
ER :=
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@ Mr Leeh: Was währe deiner Meinung nach die besser Lösung, was das generieren und verwenden der Rampe angeht?
Hab ich doch schon geschrieben, musste mal richtig lesen...

Ganz kompakt:
1. Regler langsam genug einstellen
2. Sollwert über deinen Rampenbaustein langsam erhöhen
 
@ Mr Leeh: Stimmt, hab die Stelle in deiner Anwort übersehen. Danke nochmal für deine Zeit und deine Anworten.

MFG
 
TI Fehlt

Hallo zusammen,


über den Parameter TI kannst Du die Steilheit der Rampe einstellen, mit welcher sich der LMN ändert (Komisches Deutsch).
Aktuell wirkt bei Dir die Standartzeit (siehe Hilfe F1).

Mit freundlichen Grüßen


Dominik
 
Hallo, ich nochmal.... Hab das oben geschilderte Problem jetzt in den Griff bekommen. Um die ganze Sache jetzt noch ein bischen zu verfeinern, hätte ich da noch eine Frage???

Besteht die Möglichkeit, dass der PID Controller, wenn er sich der gewünschten Temperatur nähert, früher gegesteuert, sprich dass er früher anfängt die Temperatur runter zu regeln? Sagen wir 15 Grad vor der gewünschten Temperatur?

Es muss aber zusätzlich gewehrleistet sein, dass wenn die Temp. wieder sinken sollte, das RV sofort wieder anfängt nachzuregeln???
 
@ Tim Taylor:
Danke dir für deine Antwort. Das mit dem Ti, Td wird bei mir von extern aufgeschaltet, weil ich die Werte von einer Visu verändern möchte:

//konvert TI- und TD- in time-format
//============================================
L "DB Controler".P_TE001_RV02.TI
L 1.000000e+003
*R
RND
T "In-DB-Contr-TE001_RV02".TI

L "DB Controler".P_TE001_RV02.TD
L 1.000000e+003
*R
RND
T "In-DB-Contr-TE001_RV02".TD

Trotzdem Danke.
 
Zurück
Oben