TIA PID-Compact optimieren

schwimmer

Level-3
Beiträge
1.119
Reaktionspunkte
314
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,
für eine Temperauregelung habe ich den PID Compact schon öfter benutzt und bin damit auch recht gut klar gekommen.
Jetzt habe ich eine Anwendung wo ich es einfach nicht hinbekomme.
TIA V17 / CPU1510SP
Es muss eine große Walze langsam von Raumtemperatur auf 1.250° aufgeheizt werden, in ca. 11h. Also mein Sollwert wird jede Sekunde angepasst. Das ganze System ist recht träge, also wenn ich die Heizung abschaltet steigt der Istwert noch, wenn er Istwert unter den Sollwert fällt und ich dann erst die Heizung zuschalte fällt der Istwert noch weiter ab.
Die Heizung müsste eigentlich schon zuschalten bevor der Istwert unter den Sollwert fällt und dann langsam die Leitung erhöhen und sollte sich dann eigentlich irgendwo einpendeln. Im Moment schwinge ich aber nur von Heizung aus bis zum Maximalen Sollwert hin und her, schwanke mit dem Istwert somit um +/-10°C um den Sollwert. Irgendwie stehe ich da im Moment total auf dem Schlauch und komme nicht weiter.
Hier mal meine letzte Einstellung, vielleicht hat ja jemand von euch einen Tipp für mich was ich besser machen könnte. Danke schon mal vorab.

1670085162814.png
 
Hast du denn mal einen Kurvenverlauf aufgenommen? So kann niemand was zu den Parametern sagen, außer dass die Parameter nicht zur einer nach meinem Geschmack "trägen" Regelstrecke spricht.
Wenn Soll- und Istwert bei dir in °C skaliert sind, wird bei 1 K Abweichung die Stellgröße innerhalb 200 Sekunden von 0 auf 100% gehen. Sieht mir nicht gerade langsam aus, auch in Bezug auf die 1250 °C, da wird man vermutlich nicht auf ein halbes Grad genau regeln können.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
+/-5K Abweichung wären nicht das Problem, nur wäre es schön wenn der Regler etwas mehr als schwarz/weiß regeln würde. Sprich früher öffnen und dafür den Stellwert langsam aufziehen. Momentan begrenze ich auch den unteren Sollwert auf 25%, dann wird die Unterschwingung nicht zu stark.

1670089165657.png
 
Also mein Sollwert wird jede Sekunde angepasst.

Redest du wirklich vom Sollwert der auf den Regler geht? Das kann dann nicht funktionieren.

10 Sekunden I kann für so eine träge Geschichte nicht sein, das müssten, ohne das Ding im Detail zu kennen eher 10 Minuten sein.
 
Ach ja: alle 0,1 Sekunden den Regler aufzurufen macht bei einer trägen Temperaturregelung auch keinen Sinn, da interpretiert der Regler dann das Rauschen in der Isttemperatur als notwendige Reaktion für den D-Anteil.
 
Wie soll da der Regler vernünftig rechtzeitig die Leistung zurücknehmen? Woher soll er wissen, wann der Sollwert nicht mehr zunimmt? Glaskugelregler? So einen Krampf habe ich schon mal gesehen. Der Workaround war dann am Ende, die Regelparameter nach der Hochheizphase umzuschalten.
 
Im Moment trickse ich da mit Min und Max Sollwert rum, ist zwar auch nur eine Krücke aber so läuft der Istwert nicht ganz aus dem Ruder.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du wirst wenigstens einmal eine Sprungantwort aufnehmen müssen, zumindest soweit um zumindest die Verzugs- und Ausgleichszeit zu bestimmen. Dann weißt du zumindest ungefähr in welcher Größenordnung sich deine Reglerparameter bewegen werden. "Langsame Regelstrecke" bedeutet für jeden was anderes, für den einen ist 1 Sekunde Verzögerung langsam, für den anderen 1 Stunde.
 
Wenn wir mal bei der vorgeschriebenen Max. Temperatur von 1250C waren, dann kann ich solche Sprünge machen. Dann werde ich sehen was bei rauskommt und was mit dem Regler möglich ist.
Danke für eure Tipps und Unterstützung.
 
Die komplette Sprungantwort musst du auch nicht unbedingt aufnehmen wenn es nicht so einfach möglich ist. Die Streckenverstärkung lässt sich auch grob abschätzen. Wenn du alle Temperaturbereiche von Raumtemp. bis 1250°C anfahren kannst, dann ist Ks eben mindestens ~12,5. Du wirst ja ungefähr wissen bei welcher Stellgröße du ungefähr landest. Wichtig sind die Zeitparameter, denn es weiß keiner was für dich "langsam" ist.

Was in deinem Fall wo du kontinuierlich den Sollwert verstellst wichtig ist, dürften die Gewichtungsfaktoren sein. Denn die werden soweit ich weiß bei einer Änderung des Sollwertes wirksam.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also mein Sollwert wird jede Sekunde angepasst. Das ganze System ist recht träge, ...
Die Vorgabe ist 100°C/h als gerade Linie, ich rechne den Sollwert alle Sekunde neu aus. Bei Sollwertanpassung alles 10 Minuten wäre das zu ungenau.
In welchen ZeitAbständen wird der Regler aufgerufen?
Nach welchen GesichtsPunkten rechnest Du den SollWert neu? Gibst Du als Sollwert eine Rampe vor?

also wenn ich die Heizung abschaltet steigt der Istwert noch, wenn er Istwert unter den Sollwert fällt und ich dann erst die Heizung zuschalte fällt der Istwert noch weiter ab.
Wie lange und wie schnell steigt die Temperatur nach dem Abschalten der Heizung noch an?
Wie lange und wie schnell sinkt die Temperatur nach dem Einschalten der Heizung noch ab?

Die Heizung müsste eigentlich schon zuschalten bevor der Istwert unter den Sollwert fällt und dann langsam die Leistung erhöhen ...
Dafür sollte der D-Anteil des Reglers sorgen.

Im Moment schwinge ich aber nur von Heizung aus bis zum Maximalen Sollwert hin und her, schwanke mit dem Istwert somit um +/-10°C um den Sollwert.
Es wäre schön, wenn man in Deinem Diagramm den Istwert überhaupt sehen könnte!
Laut Diagramm wird der "Output" immer nur für recht kurze Zeit weggeschaltet. Bedeutet das, dass die Aufheizung der Walze nur sehr knapp bzw. zu knapp der ansteigenden Rampe des Sollwertes folgen kann?

Momentan begrenze ich auch den unteren Sollwert auf 25%, dann wird die Unterschwingung nicht zu stark.
Im Moment trickse ich da mit Min und Max Sollwert rum, ist zwar auch nur eine Krücke aber so läuft der Istwert nicht ganz aus dem Ruder.
Laut Bild aus Beitrag #1: Sollwertbegrenzung [%]: 40,0
Was macht denn eine Sollwertbegrenzung von 40 %?

Anfangs hatte ich Dich so verstanden, dass Du den Sollwert an einer Rampe laaangsam hochfährst.
Ich verstehe deshalb nicht, an welcher Stelle eine Sollwertbegrenzung - was auch immer das sein mag - zuschlagen könnte.
Wann könnte denn ein Sollwert einen Minimalwert unterschreiten bzw. einen Maximalwert überschreiten, wenn Du den Sollwert "stetig" langsam ansteigen lässt?
 
In welchen ZeitAbständen wird der Regler aufgerufen?
Nach welchen GesichtsPunkten rechnest Du den SollWert neu? Gibst Du als Sollwert eine Rampe vor?
Den Aufruf habe ich jetzt auf 1 Sekunde gestellt
Die Rampe ist 100°C/h und ich erhöhe den Sollwert jede Sekunde um 0,027°C
Wie lange und wie schnell steigt die Temperatur nach dem Abschalten der Heizung noch an?
Wie lange und wie schnell sinkt die Temperatur nach dem Einschalten der Heizung noch ab?
Gemessen habe ich es noch nicht, hängt auch davon ab wie schnell der Regler den Sollwert hoch- bzw. runterregelt, so ungefähr 10 -20 Sekunden würde ich mal schätzen.
Laut Diagramm wird der "Output" immer nur für recht kurze Zeit weggeschaltet. Bedeutet das, dass die Aufheizung der Walze nur sehr knapp bzw. zu knapp der ansteigenden Rampe des Sollwertes folgen kann?
Laut Bild aus Beitrag #1: Sollwertbegrenzung [%]: 40,0
Was macht denn eine Sollwertbegrenzung von 40 %?
Sorry, da habe ich mich nicht klar ausgedrückt bzw. mit Sollwert im Screnshot ist der Sollwert für die Heizung gemeint, vom Regler aus betrachtet der Stellwert.
Den Stellwert halte ich auf min 25%, wenn ich den Regler komplett zumachen lasse, dann wird mir die Abweichung zwischen Soll- und Istwert zu groß. Die 40% beziehen sich auch auf den Stellwert, der würde sonst auf 100% aufziehen und dann würde ich viel zu heiß werden.

Ich würde hier genauso wie @Oberchefe mit unterschiedlichen Regelsätzen arbeiten.
Während der Rampe vielleicht nur PI oder sogar nur P.
Es gibt nur die Rampe, wenn die 1250°C erreicht sind, ist die Regelung beendet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Den Stellwert halte ich auf min 25%, wenn ich den Regler komplett zumachen lasse, dann wird mir die Abweichung zwischen Soll- und Istwert zu groß. Die 40% beziehen sich auch auf den Stellwert, der würde sonst auf 100% aufziehen und dann würde ich viel zu heiß werden.

Also so kann keine Regelung funktionieren.
Nimm mal ne Sprungantwort auf und dann schau dir mal die Grundlagen zum PID-Regler an.
 
Es ist eine Krücke und nicht wie ich den Regler betreiben möchte. Mein Problem ist halt, beim ersten Aufheizvorgang muss ich sturr der Rampenvorgabe folgen und darf eben keinen Sprünge machen. Wenn der Vorgang beendet ist, dann kann ich auch die Sprungantwort aufnehmen.
 
Den Aufruf habe ich jetzt auf 1 Sekunde gestellt
Also derselbe Takt, in dem Du auch den SollWert erhöhst. OK.
Die Rampe ist 100°C/h und ich erhöhe den Sollwert jede Sekunde um 0,027°C
Mit diesem Wert sollte die AufheizZeit auf 1250°C als bei 12,5 h liegen.
Gemessen habe ich es noch nicht, hängt auch davon ab wie schnell der Regler den Sollwert hoch- bzw. runterregelt, so ungefähr 10 -20 Sekunden würde ich mal schätzen.
Mir ist klar, dass der Istwert normalerweise nicht direkt an der WärmeQuelle gemessen werden kann. Ferner dass, je nach dem wo man den Istwert misst, der Messwert recht unterschiedlich ausfallen kann. Das dürfte auch einer der Gründe sein, warum man eine langsame Aufheizung praktiziert. Eine Verzögerung, zwischen der WärmeQuelle und dem MessPunkt ist somit unvermeidbar und für den Regler ein Problem.
Der Hintergedanke bei meiner Frage war: man könnte ein mathematisches Modell für den Istwert direkt an der WärmeQuelle schaffen und den Regler mit diesem theoretischen Istwert (oder einem MittelWert aus dem theoretischen und dem real gemessenen) füttern. Dadurch liesse sich die Verzögerung verringern.
Ein weiteres Problem sind die 39600 Schritte (3600 Schritte pro h mal 11 h) der SollwertVorgabe. 39600 > 32767, d.h. so kleine Schritte lassen sich mit einer INT-Zahl (16 Bit) im positiven Bereich gar nicht realisieren, selbst dann nicht, wenn die AE-Karte 16 Bit ("15 Bit + VorzeichenBit") könnte.
Wie sieht es bei Deiner AE-Karte damit aus und womit misst Du die IstTemperatur? Pt100?
Das nächste Problem beim Messen mit einem Temperatur-abhängigen Widerstand (z.B. Pt100) ist: der TemperaturBereich von 0 K bis 273,15 K (= 0°C) interessiert Dich zwar gar nicht, aber der NullDurchang der WiderstandsKennlinie liegt nun einmal bei 0 K. Da kann man sich drehen und wenden, wie man will, der A.... bleibt immer hinten und dieser Verlust an die Feinheit der Auflösung bleibt.
Möglicherweise gibt es mittlerweile AE-Karten, die dieses Problem per Hardware-"Tricks" umgehen können?
Die Einführung der "Klima"-MessBereiche für Temperaturen lässt mich dies zu mindest hoffen.
Eine mögliche Abhilfe sehe ich darin, anfangs die Temperatur ungeregelt ansteigen zu lassen und erst ab einer bestimmten Temperatur zur SollwertVorgabe an einer Rampe überzugehen. Spräche "technologisch" etwas dagegen?

Sorry, da habe ich mich nicht klar ausgedrückt bzw. mit Sollwert im Screnshot ist der Sollwert für die Heizung gemeint, vom Regler aus betrachtet der Stellwert.
Das hatte ich mir schon gedacht.

Den Stellwert halte ich auf min 25%, wenn ich den Regler komplett zumachen lasse, dann wird mir die Abweichung zwischen Soll- und Istwert zu groß. Die 40% beziehen sich auch auf den Stellwert, der würde sonst auf 100% aufziehen und dann würde ich viel zu heiß werden.
Das scheint wieder das Problem der Verzögerung zwischen der IstTemperatur an der WärmeQuelle und an der tatsächlichen MessStelle zu sein.
Die Parameter des Reglers scheinen auch (noch) nicht zu passen.
Der I-Anteil dürfte auch bestenfalls stören, solange der Sollwert an der Rampe ständig weiter ansteigt.
Bei Erreichen der angestrebten EndTemperatur könnte man ihn aktivieren, um die EndTemperatur möglichst genau halten zu können.
Eine StellwertBegrenzung würde ich nicht dem Regler überlassen, sondern sie ausserhalb des Reglers realisieren. Ganz einfach, damit man besser beobachten kann, wann (in welchen Situationen) der Stellwert gekappt würde bzw. wird.
Die "ExtremFälle", in denen die Begrenzung einsetzen würde, sollten wirklich AusnahmeFälle bleiben und nicht zur Regel werden.
Ein Regler, bei dem man ständig auf die Bremse treten muss, damit er nicht überreagiert, ist nicht richtig parametriert.
Oder die RegelStrecke ist z.B. durch grosse Totzeiten "schwierig" oder man hat aus KostenGründen z.B. die HeizElemente recht knapp bemessen.
Das Bremsen verbessert nichts daran, sondern erschwert es dem Regler, normal zu arbeiten.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Heizung müsste eigentlich schon zuschalten bevor der Istwert unter den Sollwert fällt und dann langsam die Leitung erhöhen und sollte sich dann eigentlich irgendwo einpendeln. Im Moment schwinge ich aber nur von Heizung aus bis zum Maximalen Sollwert hin und her,
Mal ne Grundsatzfrage: Wie sieht dein Stellorgan aus?
Ist dies ein oder mehrere Schütze oder ein linearer Thyrystorsteller oder ein I/P-Halbleiterschalter (Puls/Pause).
Aus deinem Startbeitrag konnte ich dies irgendwie nicht herauslesen.
Je nach dem würde dies eine sehr große Rolle für den Regelungsaufbau spielen.

Gruß

A.
 
Mal in Kurzform:
- D-Anteil deaktivieren, den kriegst Du von Hand nicht eingestellt
- Nachstellzeit muss ungefähr in der Größenordnung der Zeitkonstante der Regelstrecke liegen, evtl. hier auch komplett deaktivieren.
- P-Anteil verkleinern wenns schwingt, Vergrößern wenns zu langsam ist

Wenn die Masse die aufgeheizt werden soll immer gleich ist, braucht man vielleicht garkeinen Temperaturregler, da könnte man die notwendige Energiezufuhr mal ausrechnen und die Heizleistung auf einen fixen Wert einstellen.
 
Die Temperaturmessung erfolgt mittels Thermoelement und geht zwecks Potentialtrennung über einen Messwandler in dem die Kurve vom Thermoelement hinterlegt ist, Ai in die SPS mittels 0-10V (0-1300°C)
Die Heizquelle ist ein linearer Transistorsteller, der für diesen ersten Aufheizvorgang total überdimensioniert ist. Benötigt werden ca. 350kW von 2.000kW, für den späteren Produktionsprozess wird aber die volle Leistung benötigt, dann aber ohne Regler. Aus diesem Grund auch die Begrenzung des Stellwertes, sonst wären die Überschwinger im Moment noch größer.
Regelung erst bei der Endtemperatur geht leider nicht, die Aufheizkurve muss ziemlich genau der Rampe entsprechen. Die Masse die aufgeheizt wird ist leider auch nicht immer identisch.

Bin jetzt mal soweit dass wir den Sollwert im 5 Minutentakt aktualisieren können und sobald die Produktion es zulässt werde ich versuchen eine Sprungantwort aufzunehmen, dann werde ich die Parameter hoffentlich etwas besser angepasst bekommen. Danke mal für eure Unterstützung.
 
Zurück
Oben