LabVIEWForum.de
Geschwindigkeitssteigerung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Geschwindigkeitssteigerung (/Thread-Geschwindigkeitssteigerung)



Geschwindigkeitssteigerung - fenix - 11.12.2006 10:30

Moin allemiteinander

mal wiede ein kleines Problem. ich möchte eine PID Regelung mit LabVIEW realisieren. Dazu lese ich einen Wert aus meiner Messkarte aus, berechne ihn im meinem PID Modul und sende den neuen Wert sofort wieder. Es ist also immer die Abfolge: Lesen-Berechnen-Schreiben. und dann wieder von vorne

Mein Problem ist, dass ich mit meiner Programmierweise nur eine Geschwindigkeit von 300 Hz hinbekomme. Ich möchte aber mindestens 1000 Hz wenn nicht sogar 10000 Hz.

wie kann ich das hinkriegen. ich hab schon versucht, die Diagramme zu löschen, die Express VIs durch Einzelkomponenten zu ersetzen usw. Alles mit mäßigem Erfolg.

Danke im Vorraus

Fenix


Geschwindigkeitssteigerung - marker - 11.12.2006 10:35

Hallo fenix,

solche Taktfrequenzen wirst Du nur erreichen können wenn Du den PID-Regler auf der Hardware laufen lässt, z.B. auf einem FPGA.

Gruß,
Marko


Geschwindigkeitssteigerung - Mr.T - 11.12.2006 10:46

Hallo!

Prinzipiell ja: wirf alle Assis raus...Tongue
Naja - da es ich um ein Regelung handelt, würde ich mich meinem Vorredner anschliessen und Dir als "Variante b" ein RealTime-System vorschlagen - gibt´s auch als Desktop!Big Grin
Auf jeden Fall weg von Windows-Gedenk-Minuten-Stunden-Tagen.Big Grin

Gruß!


Geschwindigkeitssteigerung - DoubleU - 11.12.2006 12:29

Hi,

am PID Regler wirds wohl nicht liegen. Das Problem ist das Einlesen und Schreiben, hier musst du schauen was du rausholen kannst.
In meiner Diplomarbeit analysiere ich Can Botschaften. In sachen Performance hab ich sehr viel Aufwand reingesteckt. Ich schaffe über 10.000 Botschaften pro Sekunde zu analysieren, d.h. >10kHz. Und dabei sind die Überprüfungen auch komplex, es wirden Strings aus einer Datei geparst und jede Menge operationen durchgeführt. Der lagsamste part ist und bleibt dabei das lesen u. ggf schreiben.

Etwas kannst du auch raushalen in dem du die Hirarchie "platt" machst. Jeder SubVI aufruf kostet Zeit, allerdings kommst du damit nicht von 300 auf 10kWink

Gruss
Uli

Edit Edit:
Ich sehe grad in deinem Bild 2 Charts/Graphen. Die willst du aber nicht im Ernst mit 10khz sehen oderWink? Nehm die mal lieber raus, wenn das deine "schnelle-Schleife" sein soll. Die kannst du dann zyklisch in einer separaten Schleife langsammer beschreiben. Graphen oder auch Listboxen, alles sehr langsamme Elemente...


Geschwindigkeitssteigerung - fenix - 11.12.2006 13:57

Moinsen

Danke für eure schnellen Antworten.

Das schade, das das nicht auf die herkömmliche Weise geht. Aber ihr habt gesagt, das man das mit RealTime Komponenten lösen könnte. Wie läuft den sowas ab, ich hab da nämlich keine Erfahrung mit? Sad

Fenix


Geschwindigkeitssteigerung - thomas.sandrisser - 11.12.2006 21:58

Mit einem herkoemmlichen sehr guten RT System schaffst 40kHz Regelfrequenz (ohne Thread Swaps!).
Beim FPGA faengts dann an interessant zu werden -> 100kHz+ durchaus moeglich.

Auf deinem Windows System kannst die Prioritaet von der LabVIEW.exe ueber den Task Manager auf "Hoch" stellen. Zudem solltest jeden unnuetzen Thread Swap (SubVI) kicken und dem VI selbst eine hoehere Prioritaet verpassen.
Wennst an der Stelle eine HW hast, die im Modus "Hardware Timed Single Point" arbeiten kann, schaffst vielleicht auch mit der 2kHz+