Hi, fertige und ausgereifte/getestete Quellcodes/Bibliotheken für P(I)D Regelkreise gibt es ja genügend. Allerdings habe ich jetzt hier einen konstanten Datenstrom von Sollwerten mit festen zeitlichen Abständen t. D.h. wenn ich diese Werte erst mal durch einen kleinen Ringbuffer schiebe, hätte ich zwei Sollwerte: 1. den aktuellen Sollwert (Ringbuffer Position 0), wie er exakt zu momentanen Zeitpunkt sein soll 2. einen kommenden Sollwert (Rungbuffer Position 0+n), wie er zu einem kommenden Zeitpunkt t*n anstehen soll. Meine Überlegung: kann es für einen Regelkreis nicht von Vorteil sein, zu wissen, welcher Sollwert in der Zukunft gefordert sein wird und resultierend daraus zu wissen, wie weit/stark vom aktuellen Sollwert aus ausgesteuert werden muss, um diesen zukünftigen Wert effektiv zu erreichen? Gibt es für diese Aufgabenstellung eventuell schon fertige Bibliotheken oder habe ich hier einen Denkfehler, so dass das gar keinen Sinn machen würde? Danke!
Hallo Nun in dem Fall unterscheidet man zwischen Regelung (nur die Rückführung) und Vorsteuerung. In der Vorsteuerung werden dann zukünftige Sollwerte mitberücksichtigt. Diese ist unabhängig von deinem (PID...) Regler.
> fertige und ausgereifte/getestete Quellcodes/Bibliotheken für P(I)D > Regelkreise gibt es ja genügend. Aehem..ja Bibliotheken fuer eine Zeile Quellcode. Warum wundert mich das jetzt nicht? > Allerdings habe ich jetzt hier einen > konstanten Datenstrom von Sollwerten mit festen zeitlichen Abständen t. Wieso erstaunt dich das? Ein fester Abtastzeitpunkt ist wesentlich weil er deine Regelparameter gewichtet. > D.h. wenn ich diese Werte erst mal durch einen kleinen Ringbuffer > schiebe, hätte ich zwei Sollwerte: Du willst eine zusaetzliche Zeitkonstante in deinen Regelkreis einfuegen weil dir sonst die Regelung zu einfach waere? Kann man machen, muss man aber nicht. > Gibt es für diese Aufgabenstellung eventuell schon fertige Bibliotheken Du brauchst keine fertigen Bibliotheken sondern ein Grundlagenbuch ueber Regelungstechnik weil es dir am Grundverstaendnis fehlt. Olaf
Olaf schrieb: >> fertige und ausgereifte/getestete Quellcodes/Bibliotheken für > P(I)D >> Regelkreise gibt es ja genügend. > > Aehem..ja Bibliotheken fuer eine Zeile Quellcode. Warum wundert mich das > jetzt nicht? Eine Zeile für einen PID-Regler? Na dann kannst du die hier ja mal posten... >> Allerdings habe ich jetzt hier einen >> konstanten Datenstrom von Sollwerten mit festen zeitlichen Abständen t. > > Wieso erstaunt dich das? Ein fester Abtastzeitpunkt ist wesentlich weil > er deine Regelparameter gewichtet. Lesen hilft: es geht um die Sollwerte, nicht um die Abstastung der Istwerte. >> D.h. wenn ich diese Werte erst mal durch einen kleinen Ringbuffer >> schiebe, hätte ich zwei Sollwerte: > > Du willst eine zusaetzliche Zeitkonstante in deinen Regelkreis einfuegen > weil dir sonst die Regelung zu einfach waere? Kann man machen, muss man > aber nicht. Nein, will ich nicht - siehe oben. >> Gibt es für diese Aufgabenstellung eventuell schon fertige Bibliotheken > > Du brauchst keine fertigen Bibliotheken sondern ein Grundlagenbuch ueber > Regelungstechnik weil es dir am Grundverstaendnis fehlt. Und du brauchst einen Grundkurs "Lesen", weil du den elementaren Teil meiner Frage einfach nicht verstanden hast.
Olaf schrieb: > Du willst eine zusaetzliche Zeitkonstante in deinen Regelkreis einfuegen > weil dir sonst die Regelung zu einfach waere? Das wäre keine Zeitkonstante, wie sie in linearen Systemen völlig normal ist, sondern eine Totzeit. Damit kommt ein linearer PID Regler überhaupt nicht gut zurecht, weil sich Totzeiten nicht durch gewöhnlichen Differentialgleichungen beschreiben lassen.
Die Frage ist, was Du willst. In der Regel will man, daß solange auf den alten Sollwert geregelt wird, bis der neue vorgegeben wird und sich nicht schon früher ändert.
Looper schrieb: > so dass das gar keinen Sinn machen > würde? Natürlich macht das Sinn (Deutschterroristen bitte weghören), ich habe so etwas verwirklicht für ein medizinisches Bad, bei dem Wasser im Kreislauf gepumpt wurde und mit einer Art Durchlauferhitzer auf Temperatur gebracht. Im Behandlungsbad trat die Temperaturerhöhung mit einer Verzögerung von 30..60 Sekunden auf. Ich habe daher den Temperaturverlauf in die Zukunft extrapoliert und auf diesen Wert geregelt, mit einem parametrierbaren PID-Regler. Das Regelergebnis war um eine Grössenordnung besser als mit einer Regelung nach der aktuellen Badtemperatur, was für die medizinische Behandlung auch notwendig war. Die Softwarestruktur ist eigentlich einfach: eine Vorhersage der zukünftigen Temperatur - die ist massgebend für die Regelqualität. Und mit diesem zukünftigen Wert einen PID-Regler füttern. Für so etwas gibt es nicht nur keine Theorie, puristische Regeltechniker lehnen so etwas sogar entschieden ab, weil es nicht in die schulmässigen Modelle passt. Georg
Peter D. schrieb: > In der Regel will man, daß solange auf den alten Sollwert geregelt wird, > bis der neue vorgegeben wird Ergänzung: der Sollwert änderte sich bei meinem Gerät, die Temperatur sollte linear ansteigen. Folglich wurde auch der Sollwert extrapoliert, wie der in der Zukunft sein sollte war ja bekannt, und geregelt wurde also mit Sollwert und Istwert aus der Zukunft. Georg
Peter D. schrieb: > Die Frage ist, was Du willst. > In der Regel will man, daß solange auf den alten Sollwert geregelt wird, > bis der neue vorgegeben wird und sich nicht schon früher ändert. Bei dieser Anwendung sieht es so aus, dass viele, sich ständig ändernde Sollwerte geliefert werden. So lange so ein Sollwert aktuell ist, soll er natürlich auch gehalten werden. Meine Überlegungen sind jetzt folgende: - vom Zeitpunkt der Vorgabe eines Sollwertes bis dieser wirklich erreicht ist, benötigt jeder Regler eine gewisse Zeit. D.h. es kann für meine Anwendung passieren, das zu dem Zeitpunkt, zu dem der letzte Sollwert endlich erreicht wurde, möglicherweise schon ein neuer Sollwert aktuell ist. Könnte ein Regelkreis das nicht ausgleichen, wenn er von vorneherein schon weiß, welcher neue Sollwert demnächst ansteht? - wenn ein neuer Sollwert zu schnell angefahren wird (unpassende Reglerparameter), so kann das zu Überschwingern führen. Wenn jetzt aber ein zukünftiger Sollwert in Richtung des Überschwingers liegt, wäre das ja kein Problem, sprich der Regelkreis könnte den Überschwinger dann ja akiv nutzen um gleich weiter "in die Zukunft" zu verfahren?
Hallo Looper, insofern ich deine Frage richtig verstanden habe, wirst du unter dem Begriff prädiktive Regelung bzw. predictive control fündig. Das hat dann mit einem einfachen PID-Regler allerdings nicht mehr viel zu tun. Ob bei einem PID-Regler die Kenntnis zukünftiger Sollwerte hilfreich sein kann, weiß ich leider nicht. Viel Erfolg beim Recherchieren und Implementieren. LG Simon
georg schrieb: > Folglich wurde auch der Sollwert extrapoliert, > wie der in der Zukunft sein sollte war ja bekannt Ist nur eine Ansichtssache. Man kann für die Regelung eine Anstiegsgeschwindigkeit und den Endwert vorgeben. Dann wird quasi der momentane Sollwert in kleinen Schritten entsprechend der geforderten Kurve intern vorgegeben. Die Regelung interessiert sich nicht dafür, sondern arbeitet als ganz normale PID-Regelung.
Looper schrieb: > Könnte ein Regelkreis das nicht ausgleichen, wenn er von > vorneherein schon weiß, welcher neue Sollwert demnächst ansteht? Dann nimm meine Glaskugel. Hihihi
Looper schrieb: > - vom Zeitpunkt der Vorgabe eines Sollwertes bis dieser wirklich > erreicht ist, benötigt jeder Regler eine gewisse Zeit. D.h. es kann für > meine Anwendung passieren, das zu dem Zeitpunkt, zu dem der letzte > Sollwert endlich erreicht wurde, möglicherweise schon ein neuer Sollwert > aktuell ist. Könnte ein Regelkreis das nicht ausgleichen, wenn er von > vorneherein schon weiß, welcher neue Sollwert demnächst ansteht? > > - wenn ein neuer Sollwert zu schnell angefahren wird (unpassende > Reglerparameter), so kann das zu Überschwingern führen. Wenn jetzt aber > ein zukünftiger Sollwert in Richtung des Überschwingers liegt, wäre das > ja kein Problem, sprich der Regelkreis könnte den Überschwinger dann ja > akiv nutzen um gleich weiter "in die Zukunft" zu verfahren? Die Aufgabe des Reglers ist es, das System zu stabilisieren, Störgrößen auszugleichen und Modellierungsungenauigkeiten zu kompensieren. Für das Folgen von Führungsgrößen wird dagegen keine Rückführung benötigt. Ich empfehle dir, dich mit dem Konzept Vorsteuerung auseinander zu setzen, welches genau für diese Aufgabe da ist, einem vorgegebenen Verlauf zu folgen. Wenn man die beiden Probleme (Regelung + Vorsteuerung) getrennt betrachtet macht man sich das Leben wesentlich einfacher. Regelung + Vorsteuerung führen dann zu dem von dir prognostizierten/gewünschten Verhalten.
Simon schrieb: > insofern ich deine Frage richtig verstanden habe, wirst du unter dem > Begriff prädiktive Regelung bzw. predictive control fündig. Das hat dann > mit einem einfachen PID-Regler allerdings nicht mehr viel zu tun. Das klingt doch mal interessant und vor allem richtig - Danke, ich werde den Herrn Google mal ein wenig mit diesen Begriffen bemühen!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.