FB58 PID-Regler Frage

Lazarus™

Level-2
Beiträge
434
Reaktionspunkte
52
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich benutze für 3 Heizkreise, den FB58.
Die Heizungen laufen soweit ganz gut,nur:

Aufruf des FB's alle 100ms über OB35... (Kürzere Aufrufe ändern auch nix am Problem !!!)

Beim ersten Hochheizen, geht die heizung 15 °C überweg und pegelt sich dann supi hin. Ich würde gerne das erste aufheizen etwas optimieren, das die Regelung schneller abschaltet. D.h. Der Prozentwert läuft erst runter, wenn die Heizung eigentlich schon überheizt. Wie kann man das ändern ??? Ich habe im Moment keine Ideen mehr... Wenn die Heizungen sich hingepegelt haben, sind die auf einen Grad genau...

Danke schon mal
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Meine Parameter

Hallo MRT,
Meine einstellungen sehen im IDB so aus:

Regler Abtastzeit : 0,1s
Totzonenbreite : 0
Periherie einschalten : OM
Faktor : 1
Offset : 0
Betriebsart: Standard

PID Parameter
Proportionalbeiwert: 2
Faktor bei Sollwertänderung: 1
Integrationszeit: 1s
Differenzierzeit 1s
Differenzierfaktor: 5
I-Anteil initialisieren: OFF Initialisierungswert 0%
Regelzone Einschalten : OFF Breite : 100

Stellwert
Obere Begrenzung 100%
Untere Begrenzung 0%
Faktor: 1
Offset 0

Impulsformer: ON
Mindestimpuls-/Pausendauer 0.01s
Abtastzeit 0.02s
Periodendauer 0.5s

So habe ich das eingestellt, obwohl ich zugebe nicht genau zu wissen, wie die Zusammenhänge sind. Habe da wohl in der Schule gefehlt :lol:
 
Hallo!

Wenn du dich nicht genau auskennst, würde ich keinen PID- Regler nehmen, weil diese sehr schwer zu parametriern sind. Ich würde die Parameter notieren die jetzt eingestellt sind und dann den D teil ausschalten! PI-Regler sind leicht einzustellen und haben keine bleibende Regelabweichung. Wenn die Regelung zu Schwingen beginnt, ist der Kp zu groß. Aber wie du im ersten Beitrag geschrieben hast, dass die Regelung beim Aufheizen einmal drüber schwingt und dann drunter schwingt dass ist normal und danach regelt der Regler erst aus.
Schau mal im Internet nachdem Ziegler-Nichols-Verfahren, dass hilft auch beim Regler optimieren.

mfg andi
 
Hallo Lazarus,

falls es sich bei der Regelung um klassische Heizkreise einer Warmwasserheizung o.ä. handelt, dann ist deine Integrationszeit zu klein. Dadurch steigt der I-Anteil schneller an als deine Regelstrecke folgen kann und bringt die Regelung zum Schwingen. Ein PI-Regler mit Integrationszeiten zwischen 30s und 60s sind realistisch. Das ist jedoch kein Rezept. Beschreibe doch mal deine Regelung etwas genauer.

Wollte das nur ergänzen. Die Hinweise von andi stimmen natürlich.

Lazarus™ schrieb:
Impulsformer: ON
Mindestimpuls-/Pausendauer 0.01s
Abtastzeit 0.02s
Periodendauer 0.5s
Ich verwende eigentlich nur die einfachen Regler FB41/FB42, kenne also den FB58 nicht wirklich. Die angegebenen Werte stimmen mich allerdings etwas nachdenklich - wegen dem 100ms-OB35-Zyklus :?:

Gruß, Onkel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
PID Regler FB58

Die Heizungen sind Heizstäbe im Alublock eingegossen, um Dosierköpfe zu heizen...

Das mit dem D-Anteil checke ich morgen Früh mal und dann jammer ich gegebenfalls wieder *ggg*
 
1s Integrationszeit ist auf jeden Fall zu wenig. So schnell ist keine Temperaturrregelstrecke bei der Energiespeicher wie Heizpatronen und Alublöcke im Spiel sind.
 
Oft ist auch die Anordnung Heizelement zu Fühler sehr ungünstig. Liegen die weit auseinander, kommt es auch zu diesem Effekt. Ich habe schon sehr oft erlebt, dass der Fühler einige Zentimeter unter dem Heizelement montiert war, in einem Metallblock. Aber auch wenn die Elemente auf einer Höhe einige Zentimeter auseinander liegen, kann es zu ungünstigen Effekten kommen.

pt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So nun habe ich den D-Anteil weggenommen. Scheint etwas besser.
Auch die Integrationszeit habe ich auf 2s gestellt... Sehe aber keinen Unterschied.Obwohl mir die Heizung nu etwas "träger" erscheint (Subjektiv beurteilt)

Im vergleich zu einem hardwareregler schwingt das ganze doch etwas weit über.. Aber nur beim 1. Aufheizzyklus... Danach stabil mit +-1°C geregelt. Die Fühler liegen gut, da it z.B. Omron Hardwareregler ist das verhalten sehr viel besser in der 1. Aufheizphase.
 
Hast Du mal versucht, die Parameter der Regelstrecke z.B. über eine Sprungantwort/Wendetangente experimentell zu bestimmen, also:

- Regelkreis öffnen

- Regler auf Hand stellen

- Eingangssprung auf die Regelstrecke geben

- Sprungantwort der Regelstrecke aufzeichnen

- Wendetangente an die Sprungantwort anlegen

- Parameter Ks, Tu und Tg bestimmen

- Reglerparameter nach Ziegler/Nichols, Rosenberg oder Chien/Hornes/Reswick bestimmen.

Ich denke mal, dass Du so zumindest für den Anfang bessere Werte bekommst, als wenn Du nur am raten ist. Die Werte müssen dann aber noch ggf. optimiert werden.

Unter dem nachfolgendem Link findest Du unter anderem eine Versuchssimulation, mit der Du online die experimentelle Bestimmung der Reglerparameter üben kannst.

http://techni.tachemie.uni-leipzig.de/reg/

Gruß Kai
 
Hallo Lazarus,

es scheint sich um einen P-Regler mit Impulsausgang zu handeln. Deine kühnen Rechenkünste mit dem S5-Zeitwert habe ich nicht ganz nachvollziehen können, aber es wird schon funktionieren. Du hast es ja sicherlich getestet.
Irgendwo in der FC lädst du einen Ausgangswert "#Regelausgang_Prozent". Damit wirst du beim Einsatz in einem Anwendungsprogramm Probleme bekommen, wenn sich mehrere Bausteine den Lokaldatenstack teilen. Das Thema hatten wir erst kürzlich hier im Forum.

http://www.sps-forum.de/phpBB2/viewtopic.php?t=3846

Ich hatte mich auch schon am Selberschreiben von PID-Reglern versucht. Ist auch garnicht mal so schwer, wenn man erst einmal die einzelnen Regleranteile verstanden hat. In meinen Anwendungen verwende ich allerdings doch lieber die Siemens-Bausteine FB41/FB42. Der FB58 ist mir einfach zu kompliziert und vor allem viel zu speicherintensiv. Der PID-Regelalgorithmus wird übrigends schon seit 18-hundertirgendwann verwendet, wenn ich nicht irre.

Aber probier' deine Funktion ruhig mal in der Praxis aus. Vielleicht geht's ja bei deiner Anwendung richtig gut. Und berichte uns darüber.


Gruß, Onkel


Nachtrag:
Zwei Sekunden Integrationszeit erscheinen immer noch sehr wenig - ist aber aus der Ferne schlecht zu beurteilen. Dein Schwingen von +/- 1°C ist ein Dauerzustand, auch wenn keine Störgrößen einwirken?
Die Temperaturmessung sollte nach meinem Verständnis möglichst an der Stelle erfolgen, wo sie als Sollwert gewünscht ist. Sei es nun über, unter oder rechts neben dem Heizelement.
 
Kai: Also danke für den Link, aber genau da liegt meine Schwäche... Dieses thema ist mir mal wieder zu Theoretisch ;-)

Onkel Dagobert: Ja bei laufender Anlage, bleibt der fehler <1°C
Fühler liegen insoweit gut, da dieses Prinzip schon seit 10 Jahren benutzt wird, nur eben mit Hardwarereglern. Und nun ist es Software...

Deb FB41/42 schaue ich mir auch mal an... Also im Vergleich (auf meiner Anlage) läuft mein Bastelregler besser, als der PID Baustein... Was wohl eher an schlechten Parametern liegt...

Ach ja, im PLCSim und auf der Anlage gibt es keine Probleme mit dem Ausgangswert (Prozentwert) , da er erst vor der Verwendung generiet wird... Also momentan sehe ich da kein Problem, ich checke das aber auch nochmal...

Puh... Ich hätte nicht gedacht, das aus meiner Anfangsfrage ein Dauerbrenner wird *ggg*
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Antwort

Vielleicht mal mit dem Selftuning den Heizkopf einmessen lassen. Der FB58 beherscht das einigermassen. Wenn das Selftuning durch ist, kannst du ja die ungefähren Werte auslesen und manuell anpassen (87,12589 für P sieht halt schon blöd aus vom Selftuner :p )

Tuning anwählen, Sollwertsprung eingebenn, anschliessend warten.
Wichtig ist, die korrekten Angaben im FB58 zu Aufrufzeit und Pulszeit.
Zum Schluss noch eine Totzone (~0,5% je nach Genauigkeit) um unnötiges Schwingen um den Sollwert zu vermeiden.
Generell wenn bei mir ein FB58 eingesetzt wird mache ich auf den Panels eine PID Seite mit Handeingaben und Selftune. Das erspart hin und wieder einen Serviceeinsatz. Dort zeige ich den kompletten Status vom PID (soll,ist,PIDs,Tunezustand Totzone usw.) an.
Wichtig im Panel verhindern, dass jeder "DAU" daran rumfummelt

:idea: :?:
 
Also der selbstgestrickte läuft soweit am besten in meiner Konfiguration, aber es gibt noch ungereimtheiten, das bei bestimmten Istwerten das System "umkippt" und der Heizungsausgang ist ständig an, was mich momentan etwas fürchten lässt. Muss wohl das ganze dahingehend nochmal absichern ;-)

Mit dem FB58 (welchen ich auch in der Anlage des Kunden lasse) läuft es auch sehr stabil, das überschwingen am Anfang ist eigentlich egal hierbei...
 
Hallo Lazarus,

Lazarus™ schrieb:
..aber es gibt noch ungereimtheiten, das bei bestimmten Istwerten das System "umkippt" und der Heizungsausgang ist ständig an..
Irgendwie habe ich da einen Verdacht. Was denkst du, woran es liegen könnte?


Gruss, Onkel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Onkel Dagobert,

ein Schelm, der an was böses denkt :lol:

Nein,das ist es nicht. Es ist nur so, wenn du z.B. 150.0°C einstellst und hast aus irgend einem Grunde 350.0°C dann gibt er gas. Hat mit einem Über/Unterlauf bei der Kalkulöation zu tun...
Ich werde es noch ein wenig ausfeilen...

Aber ich weiss irgendwie, was du meinst 8)
 
Zurück
Oben