TIA Problem beim bestimmen der PID-Parameter einer Temperaturregelung

Ackinator

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend,

ich habe ein Problem mit dem leidigen Thema "PID-Regler".

Erstmal kurz ein wenig zu mir: Ich bin gelernter Elektroniker und während meiner Ausbildung in den Industrie Bereich reingerutscht speziell in den Bereich SPS-Programmierung.
Seit nun mehr als ca. 6 Jahren habe ich regelmäßig verschiedene kleine Anlagen programmiert und In Betrieb genommen, meistens handelte es sich dabei um recht simple IO-Programmierung mit S7-300 und S7-1200er CPU´s.

Auf der 1200er CPU habe ich schon erfolgreich den Siemens PID-Regler (PID_Temp) verwendet und auch bis jetzt problemlos im Einsatz, dort funktioniert die eigene Regler Optimierung recht zufriedenstellend.
Nach der Regler Optimierung nehme ich nur noch kleine Anpassungen vor danach läuft der Regler sehr stabil mit kontinuierlicher Stellgröße.

Nun haben wir einen alten Extruder wo die gesamte Elektronik ausgetauscht wird. Dort wird eine 300er CPU eingesetzt. Programmiert wird über das TIA-Portal V13 SP1.

Ich habe eigentlich den Temperaturregelbaustein im groben schon so gut wie fertig, verwendet habe ich den TCONT_CP Regler von Siemens, da er speziell für die Temperaturregelung ausgelegt ist und direkt ein Pulsgenerator integriert hat. Ziel ist es auch, einen Baustein zu schreiben der später auf der 1500er CPU funktioniert.

Das ganze drum herum vor allem die Beschaltung des Reglers funktioniert. Der Regler wird im OB35 mit 100ms aufgerufen.

Gemessen wird die Temperatur anhand von PT100 Temperaturfühlern über die passende Analogkarte von Siemens.
Geregelt wird die Temperatur über den Pulsgenerator der über einfache Digitale Ausgänge die Triacs schaltet.
Geheizt wird die Schnecke des Extruders über Heizbänder die um die Schnecke geschnallt sind. die Leistung der Heizbänder beträgt ca. 1400Watt pro Heizband, 6 Stück sind verbaut.
Des Weiteren wird ein Metallblock geheizt wo die Verteilung des Materials stattfindet, dort sind mehrere einzelne Heizpatronen von 800Watt verbaut.

Der Temperatur-Sollwert wird zwischen 120°C und 210°C betragen.

Nun zu meinem Problem:
Ich schaffe es einfach nicht die Regelparameter so einzustellen, dass der Regler beim Aufheizen nicht überschwingt und den Sollwert sauber ohne Schwingungen hält.
Auch mit der vom Regler eigenen Optimierung komme ich nicht so richtig klar. Also die Ansteuerung funktioniert, was nicht funktioniert ist dass die Regler Optimierung erfolgreich beendet wird, mir werden immer wieder Fehler ausgegeben, wie z.B. Wendepunkt nicht erreicht...

Es gibt ja verdammt viele Themen dazu und auch sehr viele PDF´s und Bücher zu dem Thema "Regelungstechnik" leider habe ich es bis jetzt noch nicht geschafft daraus das Thema PID-Regler so "richtig" zu verstehen.


Meine Fragen:
Wie gehe ich am sinnvollsten und effektivsten vor um die Regelparameter durch austesten zu bestimmen?
Gibt es Leute in der Nähe von Köln/Bonn die bereit wären mir "Nachhilfe" zum Thema PID verstehen (Speziell mit Siemens TIA-Portal und S7-300 / S7-1500) gegen Bezahlung zu geben (Bitte per PN melden)?



Ich hoffe ihr könnt mir helfen.

Grüße
Ackinator
 
Hallo,
wenn die Selbstoptimierung mit diesem Fehler abbricht, bedeutet dies, daß Du eine große Zeitkonstante der Regelstrecke hast.

Ich würde ohne daß ich genauere Werte Deiner Regelstrecke habe mit folgenden Werten starten.

Verstärkung = 0,5
Nachstellzeit = 60s
Vorhaltezeit = 0s (vielleicht 12s)

Dann mußt Du schauen wie sich die Regelung verhält.

Die Temperaturregelung bei Extrudern ist aufgrund der verschiedenen Zonen und der beim Extrudieren auftretenden adiabatischen Kompression nicht ganz so leicht.

Gruß Frank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Halo zusammen

Ich habe das gleiche Problem wie du Ackinator: Ich versuche eine Temperaturstrecke, die sehr träge reagiert, mit einem PID-Regler zu regeln. Ich kriege hierbei immer die gleiche Fehlermeldung bei der Regleroptimierung: Im Instanzdatenbaustein geht "SATATUS_H" auf"20020". Gem. Handbuch ist 2xx2x "Wendepunkt nicht erreicht" wie bei dir. Habe es schon zig mal gemacht, kommt aber immer dieser Status raus. Trotzdem funktioniert der Regler dann einigermassen...?!

Hat noch jemand eine Idee? Leider steht in den Handbüchern nirgends, was bei diesem Fehler zu machen ist...
Vielen Dank für jegliche Inputs!
 
Schonmal versucht den D-Anteil komplett weg zu lassen, also nur auf PI zu regeln? Ohne Glättung des ist-Wertes hatte ich es gerade bei Temperaturregelungen oft, dass allein durch die Messwertschwankungen der PID ständig unruhig ist. Man kann auch den Istwert erstmal durch ein PT1-Glied jagen und so die schnellen Schwankungen rauszukriegen.
Ohne genaue Kenntnis der Regelstrecke kann man da halt nur raten. Und Temperaturregelung ist halt immer so ein schwieriges Feld weil die Strecken Träge sind ohne Ende.

Ganz einfach könnte man Mal anfangen I-Anteil komplett aus, dann P Anteil langsam erhöhen. Wenn du das Gefühl hast jetzt wirds instabil, P Anteil wieder etwas runter nehmen und I Anteil erhöhen damit es keinen stabilen Fehler mehr gibt.
Jetzt wirst du das Problem haben, dass die Temperatur beim einschalten Überschwingt. Deshalb muss der P anteil wieder runter, paar versuche machen bis das nichtmehr passiert.
 
Zuletzt bearbeitet:
Hallo Schievel
Danke für die Antwort. Ich habe noch nicht versucht einzelne Komponenten von P, I und D zu deaktivieren, werde dies noch versuchen was dabei rauskommt.
Zwischenzeitlich habe ich aber herausgefunden, wieso immer der Status 2xxxx rauskam: Ich habe entweder den Sollwert nicht genug hoch raufgestellt (bei Variante Sollwertvorgabe) oder bei TUN_DLMN nicht genug Leistung angegeben (bei Variante TUN_ON). Mit genügend Leistung (z.B. an TUN_DLMN angelegt) hat's nun geklappt, dass der Status 10000 (Regelparameter gefunden) rauskommt.

Was jetzt aber interessant ist: Die Regelparameter, die gefunden werden, sind immer komplett verschieden. Die Regelung funktioniert mit mehreren dieser Parametersets zwar anscheinend gut, aber interessanterweise sind recht grosse Unterschiede dazwischen. Sollte nun einfach beobachtet werden, mit welchem Parameterset die Regelung gefühlt gut ist (z.B. am wenigsten Überschwingen oder Unter-/Übertemperatur), und dies verwendet werden?
z.B. kommt einmal für einen PID einmal 7.4 / 104.2 / 26.1 raus und in der nächsten Optimierung kommt 48.5 / 32.5 / 8.1 raus..?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn deine genannten Parametersätze P, I, und D darstellen, ist deine Regelstrecke gar nicht so übermäßig träge. Ich würde dir in diesem Fall raten, zusätzlich nach den Einstellregeln von Ziegler & Nichols vor zu gehen. Das ist recht einfach. Wie es geht, findest du zuhauf beim Googeln. Das Ergebnis kannst du dann immer noch mit den durch Optimierung ermittelten vergleichen. Zudem bekommst du dabei ein gewisses Feeling.

Den D-Anteil würde ich zunächst ignorieren. Aber das ist nur meine ganz persönliche Meinung :ROFLMAO: .
 
Was jetzt aber interessant ist: Die Regelparameter, die gefunden werden, sind immer komplett verschieden. Die Regelung funktioniert mit mehreren dieser Parametersets zwar anscheinend gut, aber interessanterweise sind recht grosse Unterschiede dazwischen. Sollte nun einfach beobachtet werden, mit welchem Parameterset die Regelung gefühlt gut ist (z.B. am wenigsten Überschwingen oder Unter-/Übertemperatur), und dies verwendet werden?
z.B. kommt einmal für einen PID einmal 7.4 / 104.2 / 26.1 raus und in der nächsten Optimierung kommt 48.5 / 32.5 / 8.1 raus..?

Mal davon ausgehend, dass der Siemens-Algorithmus nicht würfelt, liegt das wohl daran, dass die Regelstrecke bei den beiden Optimierungslaeufen nicht ganz im gleichen Zustand war. Der Algorithmus guckt sich ja mehrere Sprungantworten an, wenn die Regelstrecke dann ein bisschen wärmer war bei der zweiten Optimierung, kann das schon sein, dass der Algorithmus zu verschiedenen Ergebnisse kommt.
Je das Regelstrecke gibt es schon unterschiedliche Einstellwerte, die zu zufriedenstellenden Regelungen führen. Wenn dem nicht so wäre und es gäbe nur eine einzige richtige Einstellung, dann könnte man das per trial and error einstellen glaub ich vergessen. :)
 
Zurück
Oben