LabVIEWForum.de
Prozessorauslastung minimieren - Druckversion

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



Prozessorauslastung minimieren - Homer-Jay - 05.01.2012 08:07

Hallo,

ich habe ein Programm welches einen Prüfstand steuern soll und Messwerte aufnimmt geschrieben. Das Problem dabei ist in dem Prüfstand ist noch ein alter Pentium 3 Rechner drin, Das Programm läuft also ständig am Anschlag, Die Prozessorleistung beträgt 100%. Wie könnte ich die den reduzieren. Zur Info die Messungen mache ich mit folgenden Einstellungen: Analog, 1 Kanal, 1 Sample. In die Whileschleife habe ich ne Wartezeit von 10ms integriert, leider erst nachdem ich das Bild erstellt habe. Welche Möglichkeiten bestehen denn noch auf die schnelle meine Prozessorleistung in nen ertäglichen Bereich zu bekommen.

Gruß


RE: Prozessorauslastung minimieren - Schwand - 05.01.2012 08:31

Du könntest zB die Datenspeicherung nicht in jedem Schleifendurchlauf machen, sondern einmal nach der Schleife. Desweiteren initialisierst/startest du vermutlich die ganzen Tasks in deinen DAQ-Subvis bei jeder Schleife, das könntest du auch einmal vor der Schleife machen und sie nach Beendigung der Schleife wieder schließen.

Grüßle
S.


RE: Prozessorauslastung minimieren - GerdW - 05.01.2012 09:42

Hallo Jay,

noch was:
- DAQ-Tasks zusammenfassen: man muss nicht für jeden AO einen eigenen Task anlegen, per "ao0:3" schreibt man gleich auf 4 Ausgänge... (Das gleiche gilt auch für die Inputs, z.B. "ai9:10"!)
- statt "1 Kanal, 1 Sample" kann man auch "n Kanäle, n Samples" verwenden! Das Abfragen von 100 Werte wird vom gleichen Overhead begleitet wie das Abfragen von nur einem Wert - bei "1 Sample" braucht man aber 100 Aufrufe für die gleiche Datenmenge...
- Das mit den Clustern zur verbesserten Übersichtlichkeit bei VIs mit mehr als ~6 Eingängen hatten wir in einem anderen Thread (glaube ich) schon mal erwähnt...
- ErrorCluster zur zeitlichen Ablaufsteuerung einführen (keine Sequenz mehr nötig)
- Eineindeutige Namen für Bedienelemente - da gibt es zwei Booleans namens "Voreinstellung"...
- Drähte statt lokaler Variablen ("Auswahl Prüfung)
- muss man in deinem VI wirklich 3 verschiedene Stop-Buttons betätigen? Für eine einzige Schleife???


RE: Prozessorauslastung minimieren - Homer-Jay - 05.01.2012 09:55

Also zuerst mal Danke bisher!
Zu den Stopp Buttons nein man muss nicht 3 verschiedene betätigen ich hab 3 auf meinem Frontpanel platziert da dies in 3 Teile aufgeteilt ist. Und hab halt auf jedem Teil ein Stopp Button erstellt, welcher gedrückt wird um zu stoppen ist egal.

Das mit Tasks zusammenfassen ist nicht so einfach, zumindest meiner Meinung nach, da ich z.B. einmal Kanal 3 messen möchte und einmal Kanal 8, also ständig unterschiedlich. Und auch keine bestimmten Kombinationen.
Könnte höchstens die Tasks zum ansteuern zusammenfassen, da man die ja immer braucht.
Ok, die Sache mit dem ErrorCluster versteh ich noch nicht ganz. Was hat das genau mit Ablaufsteuerung zu tun?

Gruß


RE: Prozessorauslastung minimieren - GerdW - 05.01.2012 09:59

Hallo Jay,

Zitat:ErrorCluster ... Was hat das genau mit Ablaufsteuerung zu tun?
Genau so viel:
[attachment=37960]
Alles schön der Reihe nach, ohne irgendwelche Sequenzen...

Zitat:Das mit Tasks zusammenfassen ist nicht so einfach, zumindest meiner Meinung nach, da ich z.B. einmal Kanal 3 messen möchte und einmal Kanal 8, also ständig unterschiedlich. Und auch keine bestimmten Kombinationen.
Alle messen und nur die interessanten benutzen?


RE: Prozessorauslastung minimieren - Homer-Jay - 05.01.2012 10:13

Ok, jetzt bin ich komplett raus!

Also woran siehst du denn, dass ich alle messe und nur die interessanten nutze? Gibt es vllt ein Beispiel wo ich mir diese ErrorCluster Sache mal ansehen kann statt Ablauf?? Dein Bild hilft mir leider nicht weiter...Sorry!

Gruß


RE: Prozessorauslastung minimieren - GerdW - 05.01.2012 10:15

Hallo Jay,

Zitat:woran siehst du denn
Das war ein Vorschlag, keine Analyse deines Bildes...

Zitat:Gibt es vllt ein Beispiel wo ich mir diese ErrorCluster Sache mal ansehen kann
Alle besseren Beispiele zu DAQmx im LabVIEW-Hilfemenü->"Beispiele suchen"...