Hallo,
ich lasse LV aus einem "stimulus signal" und dem "response Signal" ein Modell einer Strecke abschätzen.
Das funktioniert recht gut und ich bekomme ein Transfer Model.
(Leider liegt Regelungstech. schon ein Weilchen zurück.)
Wie bekomme ich aus dem Model die Paramater für einen PID Regler?
Gruß
War da nicht was mit einer Laplace-Transformation?
Ist bei mir leider auch schon wieder länger her. Da müsste ich meine Unterlagen mal rauskramen.
Gruß Markus
Das läßt sich nicht eindeutig beantworten, denn es hängt davon ab, was Du von der Regelung erwartest: Z.B.: Kein Überschwingen? Maximal flache Frequenzcharateristik?.
Nomalerweise würde man da ein Simulationsprogramm benutzen, und die Regelparameter P,D,I durch probieren bestimmen. Aber wenn man unbedingt will, geht das natürlich auch mit dem einfachen LabVIEW ohne Add-ONs:
Allgemeine Formel für den Frequenzgang des geamten Regelkreises berechenen, das in LabVIEW-Code packen, für die Parameter P,D,I Schieberegler benutzen, das ganze in eine While-Schleife packen und an den Reglern spielen.
Als Anregung wie das im Prinzip funktionieren würde habe ich mal Zeit- und Frequenzverhalten Deiner Regelstrecke aus dem gegebenen Polynom wieder rekonstruiert:
[
attachment=26883]
Der Thread verdorrt - selbst "hans_P" interessiert sich nicht für die Antworten.
Habe trotzdem noch mal ein VI gebastelt, mit dem man die Regelparameter durch Betätigung von Schiebereglern exprimentell ermitteln kann.
In LabVIEW vermisse ich allerdings ein VI, welches man dazu bräuchte. Es geht um die Transformation der Koeffizienten einer komplexen (analogen) Übertragungsfunktion, bestehend aus Zähler- und Nennerpolynom, in die entsprechenden Z-Koeffizienten eines digitalen Filters. Also kurz gesagt: um ein VI zur Z-Tranformation. Habe dazu ein externes Programm benutzt. (wie es von Hand geht habe ich vergessen. Wenn ich das noch wüßte, könnte ich auch ein VI dazu machen). Fall jemand eine Idee hat: bitte melden.
[
attachment=26926] [
attachment=26927]
lv2009 [
attachment=26924] [
attachment=26925]
Danke für die interessanten VIs.
Gruß Markus
"Der Thread verdorrt - selbst "hans_P" interessiert sich nicht für die Antworten."
Sorry, das ist wirklich nicht die feine englische.
(War geschäftlich unterwegs.)
Danke für die Antworten!
Ich meld mich wie es vorangeht.
Gruß
Ok, eine einfache Lösung des Problem gibt es nicht.
Ich versuche einmal zu verdeutlichen, wie ich mir das gedacht habe.
Die ganze Sache läuft bei mir auf einem CRio System.
Ich gebe eine Signal vor und lasse LV aus der Sprungantwort ein Modell erstellen. (->vi.jpg)
Interesant ist eigentlich nur der Teil in der rechten Struktur.
Der Teil links ist nur dafür zuständig das stimulus Signal zu generieren und die Sprungantwort zu messen.
Ich dachte mir eine Mischung aus Sinussignal und Rechtecksignal wäre optimal. (Ich lasse mich aber gerne eines besseren belehren)
Das Ergebnis dieser Aktion sieht dann so aus: (->Ergebbnis.jpg)
Daraus wollte ich dann die Regelparameter bestimmen. Dank den bisherigen Antworten werde ich aber anhand des Modells
durch "Probieren" die besten Regelparameter bestimmen.
Meine Idee: Ich fahre nacheinander die einzelnen Parameter hoch (erst K, dann I und dann D) und bestimme die minimale "Abweichungsfläche".
D.h. ich lasse mir für x Varianten an PID Parametern die Sprungantwort ausgeben und gebe die Parameter weiter, die in Summe die Kleinste Fläche über oder unter der Sollkurve hat.
Ich hoffe ich habe mich verständlich ausgedrückt und würde mich über Anregungen und Verbesserungsvorschläge freuen!
Gruß HP
Ich versuche den Ansatz von "Lucki" zu verfolgen.
Jedoch habe ich großes Problem.
Wenn ich mit der Funktion "SI Convert Continuous to Discrete Model VI " die Regelstrecke "Z-Transformiere"
bekomme ich im Zähler andere Werte als Lucki in seinem Beispiel.
Jemand eine Idee woran das liegen könnte?
Hallo zusammen,
vielleicht habt Ihr schon eine Lösung zur Parametrierung gefunden, ansonsten hat LV ein zusätzliches Modul zur Modellbildung und Reglerparametrierung unter dem Namen ICP for LabVIEW laufen. Basis zur Anwendung sind die Systemdaten (Eingang/Ausgang), daraus wird ein Modell errechnet und auch gleich der Regler ausgelegt. Meine Kollegen sagen, dass es prima funktioniert und an allen Systemen anzuwenden ist.
http://sine.ni.com/nips/cds/view/p/lang/de/nid/207991
Grüße