TIA Regleraufschwingen bei Sollwertannäherung

Ton90

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute,

ich programmiere derzeit eine Regelung für eine Hochdruckpumpe. Ich habe die Reglerparameter für den Anfang so gewählt, dass der Sollwert ganz langsam angefahren wird. Das geschieht auch zunächst und der Regler regelt auch entsprechend langsam hoch. Kurz vor Erreichen des Sollwerts, fängt der Regler und damit auch das Istsignal dann aber an sich gewaltig Aufzuschwingen. Ich habe bisher noch keine Lösung dazu gefunden. Vielleicht hat ja von euch jemand einen Einfall dazu.

Das Reglerverhalten (blau-Sollwert, orange-Istwert) und die Parametrierung sieht wie folgt aus:
Zusammenschnitt SPS Forum.jpg
 
Zuletzt bearbeitet:
Hallo Ton,

den D-Anteil würde ich erst mal komplett abschalten!
Kannst du mal ganz kurz erklären, was da genau geregelt wird?

Gruß, Onkel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay, probiere ich morgen direkt mal aus.
Es soll der Kraftstoffdruck in einem Rail geregelt werden. Dazu steuert der Regler mit einem PWM Signal ein PCV-Ventil am Rail an. Der Druckwert im Rail kommt über ein Spannungssignal von einem Hochdrucksensor zurück an den Regler.
 
So etwas wie eine Einspritzanlage für Verbrennungsmotore? Dann gibt es wahrscheinlich sehr kleine Zeitkonstanten. Die Abtastzeit des Reglers würde ich dann auch wesentlich verkleinern. Mit dem P- und I-Anteil dann herantasten.

Kann mir eigentlich mal einer erklären, wie diese "Gewichtungs-Parameter" in den Algorithmus eingreifen? Oder anders formuliert, wie müssten diese Parameter eingestellt sein, damit sich der Regler wie ein konventioneller PID-Regler verhält? Alle auf 1.0?
 
Ja genau, die Pumpe dient zu Einspritzversuchen an einem Einzylinder-Versuchsmotor. Es geht aber in erster Linie erstmal darum, den Druck im Rail stabil zu halten.
Das mit der Abtastzeit hört sich jedenfalls sinnvoll an.

So wie ich das verstanden habe, reagieren diese Gewichtungsparameter direkt auf eine Sollwertänderung und nicht auf die Regelabweichung. Daher müssten wahrscheinlich alle Werte auf 0 stehen, um einen konventionellen Regler zu haben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe die Reglerparameter für den Anfang so gewählt, dass der Sollwert ganz langsam angefahren wird.
Wie macht man das denn? P-Anteil kaum vorhanden und Regelung "nur" über den I-Anteil?

So wie ich das verstanden habe, reagieren diese Gewichtungsparameter direkt auf eine Sollwertänderung und nicht auf die Regelabweichung.
Wir reden hier wirklich über einen Regler und nicht über eine VorSteuerung?

Merkwürdigerweise reagiert laut Diagramm der Istwert sehr spontan und heftig auf die SollwertÄnderung, jedoch mit falschem Vorzeichen.

Sehen wir tatsächlich nur die Auswirkungen des Reglers oder wird der Regler so ausgetrickst, dass er machtlos ist?
 
Also, ich sehe hier weder eine Sollwertänderung noch einen falschen Regelsinn? Der Regler macht schon das, was er machen muss, nur im Verhältnis zur Regelstrecke extrem langsam und in der Nähe des Sollwertes sehr instabil. Auffällig sind diese Stufen von ca. 5s Länge. Das deutet auf eine schnelle Regelstrecke hin, und auf ein schlechtes Timing. Vielleicht wird der Regler nicht im richtigen Zyklus aufgerufen? Und dann gibt es ja auch noch ein PWM-Signal. Gibt es hierfür spezielle Hardware?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke eher, dass das Orangene der Ausgangswert des Reglers ist und nicht der Istwert.
In dem Moment dass der Regler komplett abhaut, geht der Sollwert auf 0 zurück
 
Also, ich sehe hier weder eine Sollwertänderung noch einen falschen Regelsinn? Der Regler macht schon das, was er machen muss, nur im Verhältnis zur Regelstrecke extrem langsam und in der Nähe des Sollwertes sehr instabil.
Genau darum gehts. Die Sollwertänderung am Ende ist für mich erstmal uninteressant. Ich glaube auch nicht, dass der letzte Peak eine direkte Reaktion auf die Sollwertänderung ist.

Vielleicht wird der Regler nicht im richtigen Zyklus aufgerufen? Und dann gibt es ja auch noch ein PWM-Signal. Gibt es hierfür spezielle Hardware?
Was genau meinst du mit Zyklus?
Und ja, ich habe ein spezielles Signalboard direkt an der SPS angeschlossen, was einen digitalen Ausgang mit sehr hoher Frequenz schalten kann. Das Datenblatt habe ich gerade nicht zur Hand.
Ich überwache das PWM Signal während des Betriebs mit einem Oszi. Das Signal hat die gewünschte Frequenz und sieht auch sonst sauber aus.

Ich denke eher, dass das Orangene der Ausgangswert des Reglers ist und nicht der Istwert.
In dem Moment dass der Regler komplett abhaut, geht der Sollwert auf 0 zurück
Die Orangene Kurve ist der Istwert, bildet aber den Ausgangwert des Reglers analog ab. Zur Erklärung: Die Pumpe liefert einen bestimmten Druck. Wenn das PCV offen ist, stellt sich ein geringer Druck im angeschlossenen Rail ein. Klemme ich das PCV zu (was sehr schnell gehen kann), schießt der Druck aufgrund der Inkompressibilität des Kraftstoffs durch die Decke.
 
Ich denke eher, dass das Orangene der Ausgangswert des Reglers ist und nicht der Istwert.
D.h. der TE informiert uns falsch.

In dem Moment dass der Regler komplett abhaut, geht der Sollwert auf 0 zurück
Mag ja durchaus sein. Das ist ja das schwierige am Beobachten von RegelKreisen, dass man bei Fehlfunktionen nie wirklich weiss, was Ursache und was Wirkung ist.
ABER: Der Regler hat seine Finger vom Sollwert zu lassen! Der Sollwert bzw. die Differenz zwischen Soll- und Istwert ist das, wonach sich der Regler richten soll.
Natürlich kann man - wenn man sieht, dass der Regler "abhaut" - einschreiten und z.B. den Sollwert manipulieren.
Aber davon war hier (bisher) nirgends die Rede.
Der TE muss sich hier äussern, ehe wir uns alle um Kopf und Kragen verspekulieren.
Ich bin mir sicher, dass er uns etwas wesentliches verschwiegen hat.
Und ich bin mir auch sicher, dass sein Bemühen, den Regler besonders langsam und vorsichtig an den Sollwert heran regeln zu lassen, generell unsinnig ist.
Wenn es sinnvoll sein sollte, kann man den Sollwert langsam ansteigen lassen, aber um Himmelswillen nicht den Regler so zu parametrieren versuchen, dass er nicht vernünftig (= schnell und präzise) regelt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ABER: Der Regler hat seine Finger vom Sollwert zu lassen! Der Sollwert bzw. die Differenz zwischen Soll- und Istwert ist das, wonach sich der Regler richten soll.

Den Sollwert habe ich manuell auf Null gesetzt, damit mir durch die Druckschwingungen nichts kaputt geht. Das war nicht der Regler. Tut mir Leid, wenn das falsch rüber kam. Ich hätte den Verlauf in der Grafik vielleicht schon vorher abschneiden sollen...
 
Zwischen Sofa und Bett habe ich immer meine kreativste Phase ;-) .


.. So wie ich das verstanden habe, reagieren diese Gewichtungsparameter direkt auf eine Sollwertänderung und nicht auf die Regelabweichung. ..
Dann würde ich diese Parameter zunächst außer 8 lassen, also auf 0.0 stellen. Das wäre eine Option, mit der man später optimieren kann. Erst einmal muss die Regelung mit ihren Grundparametern stabil laufen.


.. Wenn das PCV offen ist, stellt sich ein geringer Druck im angeschlossenen Rail ein. Klemme ich das PCV zu (was sehr schnell gehen kann), schießt der Druck aufgrund der Inkompressibilität des Kraftstoffs durch die Decke.
Das bedeutet, dass das Stellglied zur Druckentlastung dient? Ein steigendes Stellsignal verringert also die Regelgröße? Das entspricht einem negativem Regelsinn, der aber anscheinend auch irgendwie schon so realisiert sein muss.


.. Ich glaube auch nicht, dass der letzte Peak eine direkte Reaktion auf die Sollwertänderung ist. ..
Ich hatte angenommen, an der Stelle wo der Sollwert auf Null geht wurde der Regler abgeschaltet. Es wird also nicht einfach der Sollwert auf Null gesetzt, sondern es wird die Freigabe weg genommen? Wenn dem so ist, sollte vielleicht das Ventil bei Abschaltung zur Druckentlastung zwangs-öffnen.

Bei dieser Betrachtungsweise fällt mir auch noch ein, dass es eventuell ein Überdruckventil geben könnte, welches auf ca. 580 bar eingestellt ist? Das könnte dann auch für den stufenförmigen Verlauf verantwortlich sein.


.. Was genau meinst du mit Zyklus?..
Ich meine den Task, in dem der Regler-Baustein tatsächlich aufgerufen wird. Gewöhnlich wird das ja in einem Weckalarm gemacht. Oder ist das bei den TIA-Reglern jetzt anders? Der Parameter "Abtastzeit", der in deinem Screenshot dargestellt ist (1,0s), sollte theoretisch dem Aufrufintervall entsprechen. 1,0s wäre für deine Regelung entschieden zu viel. Wenn die Aktualisierung der Regelgröße (Sensor, Analogeingang?) schnell genug ist, würde ich mal 20ms anvisieren, u.U. sogar noch weniger.
 
Zuletzt bearbeitet:
Das bedeutet, dass das Stellglied zur Druckentlastung dient? Ein steigendes Stellsignal verringert also die Regelgröße? Das entspricht einem negativem Regelsinn, der aber anscheinend auch irgendwie schon so realisiert sein muss.

Ich hatte angenommen, an der Stelle wo der Sollwert auf Null geht wurde der Regler abgeschaltet. Es wird also nicht einfach der Sollwert auf Null gesetzt, sondern es wird die Freigabe weg genommen? Wenn dem so ist, sollte vielleicht das Ventil bei Abschaltung zur Druckentlastung zwangs-öffnen.

Bei dieser Betrachtungsweise fällt mir auch noch ein, dass es eventuell ein Überdruckventil geben könnte, welches auf ca. 580 bar eingestellt ist? Das könnte dann auch für den stufenförmigen Verlauf verantwortlich sein.

Nein, je größer die Stellgröße, desto stärker kneift das PCV zu, also desto höher der Druck.
In der Messung zuvor hatte ich den Sollwert manuell auf 0 gesetzt. Wäre der Druck noch höher gestiegen, hätte aber auch eine entsprechende Sicherheitsschaltung reagiert und den Reger restettet und ausgeschaltet.
Ein Überdruckventil ist nicht vorhanden.

Ich bin auch heute endlich wieder an den Prüftand gekommen und konnte die Parametrierung deiner Empfehlung nach anpassen. Ich habe den D-Anteil völlig raus genommen sowie die Gewichtungen bei Sollwertänderung genullt. Die Abtastfrequenz habe ich der Frequenz des Weckalarms OBs angepasst, in dem der Regler sitzt.

Was jetzt passiert, ist auch interessant. Ich kann einen Sprung von 500 auf 600 bar realisieren, wobei die 600 bar wunderbar eingeregelt werden (Was ja schonmal ein Fortschritt ist). Springe ich dagegen von 600 auf 650 bar, tritt das gleiche Problem wie zuvor auf. Die 650 bar werden angefahren und der Regler fängt langsam an sich aufzuschwingen.
Info am Rande: Die Stellgröße ist hier in einem Bereich, in dem das Stellglied sehr sensitiv reagiert. Aber das soll auch so sein. Und ich weiß nicht, ob es hier einen Zusammenhang gibt, da ja der Sollwert zunächst auch angefahren wird.

Aufschwingung ohne D Anteil ab 650bar.jpg
 

Anhänge

  • Aufschwingung ohne D Anteil ab 650bar.jpg
    Aufschwingung ohne D Anteil ab 650bar.jpg
    34,4 KB · Aufrufe: 47
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
...Info am Rande: Die Stellgröße ist hier in einem Bereich, in dem das Stellglied sehr sensitiv reagiert. Aber das soll auch so sein. Und ich weiß nicht, ob es hier einen Zusammenhang gibt, da ja der Sollwert zunächst auch angefahren wird.
Der war gut :cool:. Das ist einen wesentliche Information! Du hast also ein (stark?) unlineares Stellglied und damit bei 650 bar eine wesentlich höhere P-Verstärkung als bei 600 bar.
Da ist das Regeln nicht so einfach. Du könntest z. B. versuchen, den P-Faktorl vom Sollwert abhängig zu machen, oder aber durch geeignete hydraulische Maßnahmen den kritischen Punkt so zu verschieben, dass er bei normalem Arbeiten nicht angefahren wird.
Gruß
Erich
 
Na das sieht doch schon mal ganz gut aus. So wie ich das sehe, wird auch bei 650 bar wird der Sollwert zunächst stabil angefahren. Das Schwingen beginnt erst kurz danach.

.. Die Stellgröße ist hier in einem Bereich, in dem das Stellglied sehr sensitiv reagiert...
Das wäre wo? Beobachtest du das PWM-Signal noch? Tut es das, was es tun soll? Manchmal hat der PWM-Spezi eine Mindestein- und Mindestausschaltzeit eingebaut. Das würde sich dann bei nahe Minimum und nahe Maximum auswirken.
 
Der war gut :cool:. Das ist einen wesentliche Information! Du hast also ein (stark?) unlineares Stellglied und damit bei 650 bar eine wesentlich höhere P-Verstärkung als bei 600 bar.
Da ist das Regeln nicht so einfach. Du könntest z. B. versuchen, den P-Faktorl vom Sollwert abhängig zu machen, oder aber durch geeignete hydraulische Maßnahmen den kritischen Punkt so zu verschieben, dass er bei normalem Arbeiten nicht angefahren wird.
Gruß
Erich

Wie ich den P-Faktor vom Sollwert abhängig machen kann, ist mir momentan (programmiertechnisch) noch schleierhaft. Könnte es vorerst helfen den P-Faktor vollständig auf 0 zu setzen?
Konstruktive hydraulische Maßnahmen sind eher schwer umzusetzen.

Das wäre wo? Beobachtest du das PWM-Signal noch? Tut es das, was es tun soll? Manchmal hat der PWM-Spezi eine Mindestein- und Mindestausschaltzeit eingebaut. Das würde sich dann bei nahe Minimum und nahe Maximum auswirken.

Das PCV wird in der Regel ab 50% PWM betrieben. Bei mir wird die Stellgröße direkt in das PWM Signal übersetzt. Also ein Reglerausgang von 60% bedeutet auch ein 60% PWM Signal. Und ja, das PWM-Signal sah immer noch vernünftig aus.
Ich glaube, bei 650 bar lag das PWM-Signal bei ca 70%. Muss ich in der nächsten Messung einmal mit aufzeichnen...
Mindestein- und Ausschaltzeit dürften nicht vorhanden sein, checke ich aber auch noch mal nach.

Vielen Dank übrigens schon einmal für die ganzen Tipps!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Dazu steuert der Regler mit einem PWM Signal ein PCV-Ventil am Rail an.
Was bedeutet PCV? Google und Bing liefern massenweise Ergebnisse im Sinne von "Positive Crankcase Ventilation" und fast noch lieber zum Thema PVC, was ja wohl total daneben sein dürfte.
Ich vermute eher Piezo Ceramic Valve.

Und ja, ich habe ein spezielles Signalboard direkt an der SPS angeschlossen, was einen digitalen Ausgang mit sehr hoher Frequenz schalten kann. . . .
Ich überwache das PWM Signal während des Betriebs mit einem Oszi. Das Signal hat die gewünschte Frequenz und sieht auch sonst sauber aus.
Dieses spezielle SignalBoard nimmt Dein AnalogSignal entgegen und macht daraus das PWM-Signal?
Was heisst "mit sehr hoher Frequenz schalten" und was heisst "sieht auch sonst sauber aus"? In welchem Bereich liegen die Längen der Impulse bzw. der ImpulsPausen?
Wieviele unteschiedliche Stufen kann das PWM-Signal produzieren?

. . . schießt der Druck aufgrund der Inkompressibilität des Kraftstoffs durch die Decke.
So gesehen kannst Du Deinen Regler gar nicht schnell genug arbeiten lassen. Weg mit der langsamen Annäherung an den SollWert.
Mit dem D-Anteil dafür sorgen, dass der Regler möglichst unverzüglich reagiert und "nebenbei" damit die Schwingneigung verringern.

Info am Rande: Die Stellgröße ist hier in einem Bereich, in dem das Stellglied sehr sensitiv reagiert. Aber das soll auch so sein.
Unter welchem GesichtsPunkt soll das so sein? Bei 650 bar deutlich sensitiver als bei 600 bar und als bei 700 bar?

Ohne I- und ohne D-Anteil den P-Anteil so wählen, dass es trotz des "sensitiven Bereiches" gerade eben noch nicht zum Schwingen kommt.
Aber: zunächst feststellen, mit welcher Frequenz das System schwingt, wenn der P-Anteil zu hoch gewählt wird.
Im Diagramm von #14 sehe ich eine Frequenz von ca. 1,6 Hz (im Diagramm von #1 waren es noch ca. 0,1 Hz - Einfluss der geänderten ReglerParameter bzw. der "hoch sporadischen" Aufrufe bei #1!).
Abhängig von dieser Frequenz die Integrationszeit und die Differenzierzeit festlegen - mit Details muss ich hier leider passen, da mir nicht klar ist, was genau beim PID mit Integrationszeit bzw. Differenzierzeit gemeint ist - könnte das schlicht und einfach der Kehrwert der ermittelten Frequenz sein?
Wer kennt sich hiermit aus? Fehlt da evtl. noch der Faktor 2Pi?
Durch Aktivierung des D-Anteils (m.E. sehr wichtig) folgt der Istwert dem Sollwert schneller und präziser.
Durch Aktivierung des I-Anteils (m.E. weit weniger wichtig) wird die verbleibende Differenz zwischen dem Ist- und dem Sollwert verringert.
 
Hi Leute,

mittlerweile funktioniert der Regler bis zu einem Ausgangswert von ca 80% wunderbar. Er regelt sehr schnell und ohne nennenswerte Überschwinger ein. Vielen Dank für die ganzen Tipps an dieser Stelle noch einmal!
Im Bereich über 80% jedoch ist das Systemverhalten ein ganz anderes, da der Raildruck viel empfindlicher auf eine Änderung des Stellglieds reagiert. Die für den Bereich unter 80% gewählte Reglerparametrierung führt hier zu starken Überschwingern etc. Klar könnte ich den Regler einfach langsamer machen, aber eine optimale Lösung ist das nicht. Ich habe jetzt einen zweiten "PID-Compact" eingebaut mit einer entsprechenden Parametrierung für den oberen Bereich. Ich versuche nun mit einer "In-Range" Funktion den jeweiligen Regler aktiv zu schalten, in dessen Bereich sich der Ausgangswert gerade befindet (also über und unter 80%). Jedoch hakt das ganze genau in dem Übergang. Beide Regler sind dann aktiv und der Ausgangswert verändert sich nicht weiter. Hat jemand eine Idee, wie ich das Problem lösen kann?
 
Umschaltungen jeglicher Art sind für eine stetige Regelung immer irgendwie störend. Kann es sein, dass bei ca. 80% der Vordruck der Pumpe allmählich nicht mehr ausreicht, um am Ende den Sollwert stabil zur erreichen? Sollte man das Stellsignal von linear auf irgendwas quadratisches oder so umrechnen müssen?
 
Zurück
Oben