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)