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!
13.05.2010, 19:06 (Dieser Beitrag wurde zuletzt bearbeitet: 13.05.2010 19:06 von Matze.)
ich hoffe, mein Vorhaben lässt sich irgendwie mit LabVIEW lösen. Ich möchte eine sehr schnelle Regelung aufbauen.
Das läuft folgendermaßen ab: Es wird ein Ist-Wert eingelesen, dann etwas gerechnet und ein neuer, angepasster Sollwert ausgegeben.
Das Ganze sollte nach Möglichkeit weniger als 10 ms dauern.
Nun meine Fragen hierzu:[list]
[*]Ist eine Regelung in der Geschwindigkeit mit LabVIEW allgemein möglich?<>
[*]Ist das mit DAQmx möglich (NI 9203 & Co) und Windows XP?
Da Windows kein Echtzeitbetriebssystem ist, vermute ich, dass es damit so schnell nicht gehen wird.<>
[*]Falls es mit LabVIEW möglich ist, welche Hardware wird dafür benötigt?
FPGA, ...<>
[*]Gibt es eine Übersicht, welche Hardware/Software für welche Zykluszeiten erforderlich ist?
Das Ganze sollte natürlich nicht zu teuer werden. Wenn mir 10 ms als Zykluszeit reichen, benötige ich z.B. keine Hardware, die eine Zykluszeit von 1 ms unterstützt.
Also eine Übersicht, welche Hardware/Software für welche Zykluszeiten geeignet ist, wäre optimal.<>
[st]Ich hoffe, dass ich hier kein Thema übersehen habe. Ich konnte nur welche in Bezug auf Code-Optimierungen finden.
Freundliche Grüße
Matze
Grüße
14.05.2010, 08:27 (Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2010 08:31 von Lucki.)
' schrieb:ich hoffe, mein Vorhaben lässt sich irgendwie mit LabVIEW lösen. Ich möchte eine sehr schnelle Regelung aufbauen.
Das läuft folgendermaßen ab: Es wird ein Ist-Wert eingelesen, dann etwas gerechnet und ein neuer, angepasster Sollwert ausgegeben.
Komische Regelung. Nomalerweise ist der Sollwert eine vorgegebene Größe, und Aufgabe der Regelung ist es, aus Sollwert und momentanen Istwert einen neuen Stellwert für die Regelstrecke zu berechnen.
14.05.2010, 08:53 (Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2010 08:53 von GerdW.)
nachdem Lucki Grundbegriffe der Regelungstechnik geklärt hat, mal noch eine Rückfrage, die sicherlich bei der Beantwortung deiner allgemein gehaltenen Anfrage hilft:
"Es wird ein Ist-Wert eingelesen, dann etwas gerechnet und ein neuer, angepasster Sollwert ausgegeben. Das Ganze sollte nach Möglichkeit weniger als 10 ms dauern."
Es würde sicherlich bei der Abschätzung helfen, wenn du dieses "etwas" genauer spezifizierst. In 10ms kann man schon einige Berechnung durchführen - für andere Berechnungen könnte es aber auch deutlich zu wenig Zeit sein...
natürlich meine ich die Stellgröße, sorry.
Um welchen Regler es sich genau handelt, steht noch nicht fest. Ich vermute, es wird auf einen PI- oder PID-Regler hinaus laufen, aber das muss noch genauer untersucht werden. Ich möchte zunächst einmal wissen, was mit LabVIEW und der zugehörigen Hardware überhaupt möglich ist, bevor ich plane, solche Regler mit LabVIEW umzusetzen. Es geht momentan noch nicht um eine konkrete Regelung, sondern eher um Vorüberlegungen.
Nur mal ganz grob, was ich mir vorstellen könnte:
Bei einer großen Abweichung vom Sollwert, wird die Stellgröße stark korrigiert. Ist die Abweichung gering, dann nur geringfügig.
Beispiel: Es ist ein Druck auf 4 bar zu regeln.
Liegt der aktuelle Druck bei 5 bar, wird die Stellgröße auf 3 bar gesetzt. Sinkt der Druck daraufhin auf 4,2 bar, beträgt die neue Stellgröße 3,9 bar. Bei sehr geringen Volumina kann sich der Druck sehr schnell ändern, was eine schnelle Regelung erforderlich macht.
Mit LabVIEW selbst habe ich nie einen Regler entworfen (nur mit Matlab, aber auch nur recht langsame Regelungen). Daher ist das dort für mich Neuland.
' schrieb:Beispiel: Es ist ein Druck auf 4 bar zu regeln.
Gilt der Druck als applikationsnahes Beispiel?
Ich rate davon ab, so Sachen wie Druck (Moment, Kraft etc.) per Software auf WinXP-Ebene regeln zu wollen. Zwar ist ein moderner Rechner an sich schnell genug, innerhalb von 10ms einen auch komplexeren Algorithmus abzuarbeiten. Was er nicht kann, ist die "wiederholbare Echtzeitfähigkeit": Der Rechner wird dir drei Stunden lang wunderbar im 10ms-Raster regeln - und dann kommt ein Aussetzer von 100ms. Und genau jetzt macht dein Prüfling eine Druckspitze! Du kannst einen ganzen Prüfstand auf XP-Ebene steuern und erfassen - locker im 1ms Raster. Aber nicht regeln.
Noch eins:
Bei 10ms Raster sollte das Programm maximal eine halbe Millisekunde für die Regelung brauchen: Das alleine macht nämlich schon 5% CPU-Leistung aus.
Das Problem ist also nicht die Software, sondern die Hardware.
Für eine Regelung setzen wir immer Echtzeitsysteme ein. Und die kannst du ja auch in LabVIEW programmieren.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
ja genau das meinte ich damit, dass es mit Windows wohl nicht zuverlässig gehen wird. Daher suche ich ja die mögliche (echtzeitfähige) Hardware dazu bzw. eine Übersicht, was für welche Zykluszeiten/Aufgaben geeignet ist.
Nur kenne ich mich mit der NI-Hardware nicht aus. Daher erwähnte ich auch FPGA als mögliche Hardware.
Und ja, die Druckregelung wäre ein praxisnahes Beispiel.
' schrieb:ja genau das meinte ich damit, dass es mit Windows wohl nicht zuverlässig gehen wird. Daher suche ich ja die mögliche (echtzeitfähige) Hardware dazu bzw. eine Übersicht, was für welche Zykluszeiten/Aufgaben geeignet ist.
Nur kenne ich mich mit der NI-Hardware nicht aus. Daher erwähnte ich auch FPGA als mögliche Hardware.
Bei echtzeit-fähigen NI-Hardware landest du dann typischerweise bei cRIOs, sbRIOs, PXI-Realtime-Systemen oder z.B. den R-Serien-Karten. Einen FPGA-Teil hast du dann (fast immer) dabei. Aber auch mit dem Real-Time-System lässt sich schon viel machen.