Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
' schrieb:ich brauche einen PID-Regler. Ich habe das simple_PID.Vi in deinem Thread gefunden, aber ich kann es nicht laufen lassen, also sowohl der RUN-Button als auch der STOP-Button sind nicht vorhande. Was muss ich dabei beachten???
wenn du das VI als SubVI verwendest, dann solltes eigentlich funktionieren. Die beiden Buttons fehlen vermutlich, weil es keinen Sinn macht einen PID Regler ausserhalb einer While-Schleife laufen zu lassen. Das Fehlen der Run-Buttons soll vermutlich darauf hinweisen ...
OK, das habe ich jetzt soweit hinbekommen. Eine andere Frage: Gibt es irgendwo eine Erklärung zu dem VI? Damit ich weiß, welche Funktion die einzelnen einzustellenden Parameter haben, wie zum Beispiel "Set Point", "Process Variable", "Upper Limit" und "Lower Limit"?!?!?!?!
Den "Output Value" kann ich den auch direkt auf die DAQ als Ausgang geben???
22.11.2006, 19:39 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2006 19:42 von Lucki.)
' schrieb:OK, das habe ich jetzt soweit hinbekommen. Eine andere Frage: Gibt es irgendwo eine Erklärung zu dem VI? Damit ich weiß, welche Funktion die einzelnen einzustellenden Parameter haben, wie zum Beispiel "Set Point", "Process Variable", "Upper Limit" und "Lower Limit"?!?!?!?!Den "Output Value" kann ich den auch direkt auf die DAQ als Ausgang geben???
Set Point = Sollwert
Process Variable = Istwert (Ausgang der Regelstrecke)
Output Value = Steuereingang für die Regelstrecke (Ja, wenn Du etwas Analoges regeln willst, dann muß der Parameter auf den DAC gegeben werden.)
Limits: Bei Übersteuerung der Regelstrecke, beispielsweise durch einen großen Sprung, kommt er Integrator aus dem Gleichgewicht kann sehr weit weglaufen. Es dauert dann eine Ewigkeit, bis er sich der Regler davon wieder erholt. Mit Limits kann man das Übersteuerungsverhalten verbessern.
Die Limits können erst mal +inf und -inf gewählt werden. Wenn dann bei kleinen Signalen alles läuft, kann man als nächstes das Übersteuerungsverhalten untersuchen und dann geeignete Limits festlegen.
Wie gesagt, es gibt auch jetzt noch Beispiele zur Regelung in der LabVIEW-Hilfe, aus denen man etwas lernen kann. Nur ist dort in den Sub-VIs, auf denen "PID" drauf steht, kein PID mehr drin. Das vom mir gepostete PID aus einer ganz alten Version sollte diese Lücke schließen.
Der Wert von all diesen Beispielen ist aber sehr begrenzt, weil nur für Systeme mit einer oberen Frequenzgrenze von höchstens einigen hundert Herz geeignet.
</div>
16.03.2007, 16:08 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2007 13:29 von jg.)
Hallo!
Ich arbeite zur Zeit an meiner Diplomarbeit. Dabei programmiere ich eine Ofen/Motor-Steuerung in LabVIEW (7.1).
Über die gemessene Temperatur soll ein Motor angesteuert werden um die Probe im Ofen entsprechend zu positionieren. Den (Schritt-)Motor kann ich zum Einen genau positionieren oder über Geschwindigkeit steuren. (Ansteuerung der Steuereinheit des Motors mit string-Befehlen)
Im Moment arbeitet das System über einen selbstgebastelten Regelkreis, den ich aber gerne durch einen PID-Regler ersetzten würde. Hab gehört, dass diese Regelungen sich auch selbstständig an die Trägheit des Systems anpassen können und somit ein optimaleres Ergebnis erzielen können, als das meine Konstruktion vermag...
Mein Problem ist jetzt, dass ich (noch) nicht richtig verstehe, wie ich den (oben geposteten) PID-Regler integriere. Solch ein einfacher Regler sollte im Prinzip auch reichen, da mein System mit einer Frequenz von 1Hz zufriedenstellend läuft?!?
Wie bekomme ich nun so einen PID integriert, wie bekomme ich einen Ausgang, der die Motorgeschw. entsprechend ansteuert (Lauffrequenz: 0(v=0)...10000(v_max))? Weiterhin wäre mir wichtig, dass sich der Regler selbstständig dem System anpasst...
Wäre nett, wenn sich jemand mal etwas Zeit nehem könnte und sich mal dem Problem annehmen würde! (im Anhang ein kleiner Ausschnitt meines Programmes und mein bisheriger 'Regelkreis' [errechnet aus Temperaturabweichung und Gradientenanstieg die Soll-Position und fährt sie an&langes Warten...])
Danke schonmal!
m.
' schrieb:<div align="left">
Set Point = Sollwert
Process Variable = Istwert (Ausgang der Regelstrecke)
Output Value = Steuereingang für die Regelstrecke (Ja, wenn Du etwas Analoges regeln willst, dann muß der Parameter auf den DAC gegeben werden.)
Limits: Bei Übersteuerung der Regelstrecke, beispielsweise durch einen großen Sprung, kommt er Integrator aus dem Gleichgewicht kann sehr weit weglaufen. Es dauert dann eine Ewigkeit, bis er sich der Regler davon wieder erholt. Mit Limits kann man das Übersteuerungsverhalten verbessern.
Die Limits können erst mal +inf und -inf gewählt werden. Wenn dann bei kleinen Signalen alles läuft, kann man als nächstes das Übersteuerungsverhalten untersuchen und dann geeignete Limits festlegen.
Wie gesagt, es gibt auch jetzt noch Beispiele zur Regelung in der LabVIEW-Hilfe, aus denen man etwas lernen kann. Nur ist dort in den Sub-VIs, auf denen "PID" drauf steht, kein PID mehr drin. Das vom mir gepostete PID aus einer ganz alten Version sollte diese Lücke schließen.
Der Wert von all diesen Beispielen ist aber sehr begrenzt, weil nur für Systeme mit einer oberen Frequenzgrenze von höchstens einigen hundert Herz geeignet.
</div>
(VIs LV 7.1)
16.03.2007, 17:26 (Dieser Beitrag wurde zuletzt bearbeitet: 16.03.2007 17:27 von dc6xs.)
' schrieb:Hallo!
Ich arbeite zur Zeit an meiner Diplomarbeit. Dabei programmiere ich eine Ofen/Motor-Steuerung in LabVIEW (7.1).
Über die gemessene Temperatur soll ein Motor angesteuert werden um die Probe im Ofen entsprechend zu positionieren.
(...)
Im Moment arbeitet das System über einen selbstgebastelten Regelkreis, den ich aber gerne durch einen PID-Regler ersetzten würde. Hab gehört, dass diese Regelungen sich auch selbstständig an die Trägheit des Systems anpassen können und somit ein optimaleres Ergebnis erzielen können, als das meine Konstruktion vermag...
Mein Problem ist jetzt, dass ich (noch) nicht richtig verstehe, wie ich den (oben geposteten) PID-Regler integriere. Solch ein einfacher Regler sollte im Prinzip auch reichen, da mein System mit einer Frequenz von 1Hz zufriedenstellend läuft?!?
(...)
Mal ganz ehrlich..
Jemand der seine Diplomarbeit schreibt sollte schon mal von Reglereinstellverfahren wie Ziegler/Nichols gehört haben oder wissen wo was dazu steht.
Ein PID-Regler ersetzt auch niemals einen Regelkreis, er ist ein Teil davon!
Damit Du deinen Regler vernünftig parametrieren kannst, ist es wichtig das Du möglichst viele, wenn nicht sogar alle, Parameter des Regelkreises kennst, dazu gehören auch die Störungen, die auf deinen Regelkreis einwirken, wie auch z. B. die Parameter des Motors, Totzeiten usw. usf..
Würde Dir mal einen Blick in Otto Föllinger, Regelungstechnik, Hüthig Verlag ISBN:3-7785-2336-8 empfehlen.
Kopfschüttelnde Grüße,
Rob
Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.
N.B.: "Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
' schrieb:Mal ganz ehrlich..
Jemand der seine Diplomarbeit schreibt sollte schon mal von Reglereinstellverfahren wie Ziegler/Nichols gehört haben oder wissen wo was dazu steht.
Ein PID-Regler ersetzt auch niemals einen Regelkreis, er ist ein Teil davon!
Damit Du deinen Regler vernünftig parametrieren kannst, ist es wichtig das Du möglichst viele, wenn nicht sogar alle, Parameter des Regelkreises kennst, dazu gehören auch die Störungen, die auf deinen Regelkreis einwirken, wie auch z. B. die Parameter des Motors, Totzeiten usw. usf..
Würde Dir mal einen Blick in Otto Föllinger, Regelungstechnik, Hüthig Verlag ISBN:3-7785-2336-8 empfehlen.
Kopfschüttelnde Grüße,
Rob
Also folgendes:
Das Programm ist nur ein "Abfallprodukt" meiner Diplomarbeit und mein Chef hatte letzte Woche die Idee ich sollte mal versuchen einen PID-Regler einbauen!
Mich komplett komplett in die Regeltechnik einzuarbeiten fehlt mir etwas die Zeit und deswegen dachte ich, einer von der erfahreren LV-Gemeinde könnte mir helfen / nen Tipp geben, wie ich weiterkomme!
Das der Regler nicht dem Regelkreis gleichzusetzten ist, ist mir durchaus bewusst, aber in der Hitze des Gefechts...
Die Parametereinstellung nach Ziegler/Nichols hab ich mal kurz angelesen, aber dann festgestellt, dass diese Einstellung nicht dynamisch ist, d.h., dass ich bei jeder Variation meiner Versuchsparameter (Probenmaterial, -geometrie, Gradienteinstellungen...) die Parameter anpassen müsste, oder nicht?
m.
' schrieb:Die Parametereinstellung nach Ziegler/Nichols hab ich mal kurz angelesen, aber dann festgestellt, dass diese Einstellung nicht dynamisch ist, d.h., dass ich bei jeder Variation meiner Versuchsparameter (Probenmaterial, -geometrie, Gradienteinstellungen...) die Parameter anpassen müsste, oder nicht?
m.
Entschuldige bitte meinen harten Ton.
So wie es sich jetzt darstellt sieht das doch schon ganz anders aus.
Sicherlich muss man die Strecke neu einstellen, wenn Du andere Proben in dem Ofen hast.
Die Frage ist nun, wie groß ist die Beeinflussung der Strecke, wenn man die Proben verändert.
Eventuell kann man ja die Probengröße, etc. als Parameter für die Strecke angeben, so dass der Bediener halt einstellt ob z.B. große/kleine Probe oder feucht/trocken..
Oder ist das zuaufwändig bzw nicht gewünscht?
Gruß, Rob
Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.
N.B.: "Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
' schrieb:Entschuldige bitte meinen harten Ton.
So wie es sich jetzt darstellt sieht das doch schon ganz anders aus.
Sicherlich muss man die Strecke neu einstellen, wenn Du andere Proben in dem Ofen hast.
Die Frage ist nun, wie groß ist die Beeinflussung der Strecke, wenn man die Proben verändert.
Eventuell kann man ja die Probengröße, etc. als Parameter für die Strecke angeben, so dass der Bediener halt einstellt ob z.B. große/kleine Probe oder feucht/trocken..
Oder ist das zuaufwändig bzw nicht gewünscht?
Gruß, Rob
Momentan glaube ich, dass das zu aufwändig wäre, bzw. zum Testen des Systems würde ich erst mal eine feste Probengeometrie & -zusammensetztung vorgeben! Daraus kann ich dann in weiteren Versuchen ableiten, in wie fern sich Änderungen der Probenparameter auf die Regelstrecke auswirken...
Mir wäre es erstmal wichtig, wenn mir mal jemand ein Programm oder einen Ausschnitt zur Verfügung stellen könnte, wodurch ich ersehen kann, wie ich den PID-Regler in der Strecke einbinde ect.! Dann würde ich wahrscheinlich erst mal die Parameter nach Z/N bestimen...
Um die Parameterwahl letztendlich zu dynamisieren, hab ich mir überlegt, dass ich evt. ein bekanntes Verfahren (Z/H oder Takahashi) in LV automatisiere und zeitgleich zur Regelung laufen lasse (natürlich dann mit festen Startwerten)... Hat damit schon mal jemand Erfahrungen gesammelt?
m.