LabVIEWForum.de - Hohe CPU und Speicherauslastung, wie kann man das verbessern?

LabVIEWForum.de

Normale Version: Hohe CPU und Speicherauslastung, wie kann man das verbessern?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Klingt auf jeden Fall nach einer Interessanten Aufgabe, zu den Tipps von mir
ich bin auch nicht so bewandert hatte bisher eine Studienarbeit mit LV gemacht und hab auch in der Diplomarbeit damit zu tun aber im Grunde hab ich auch nicht mehr Plan.
Wenn das Projekt wieder online geht würde ich halt prüfen ob es in Echtzeit laufen muss oder Du die Messung von der Asuwertung entkoppeln kannst. Ist ja entscheidend, dann würde ich das Auflösungsnetz in der Güte wählen, wenn Du offline auswertest kannst Du es beliebig genau machen wenn realtime dann muss entweder ein besserer Rechner her oder Du filterst die Daten so das Änderungen und entsprechend die Ergebnisse hinreichend genau sind. Um die Sache übersichtlicher zu machen kannst Du ja auch immer alle 3 Achsen in einem Diagramm darstellen usw.. ich denke da kann man viele Ideen einfließen lassen.

Wie gesagt erstmal das VI-Profil dann siehst Du erst einmal was genau Grund ist, Bsp. ist wenn sich die Ausführungszeiten eines VI's verlängern stauen sich mehr Daten auf als eigentlich verarbeitet werden können und ein Stau wirkt sich aus wie auf der Autobahn würden alle langsamer fahren und somit den Abstand verringern und weniger Störungen im Fluss sich negativ auswirken dann würde es nicht zum Stau kommen und Du musst dann überlegen wie das vermieden wird ob nun durch Warteschlagen wovon ich auch keinen Plan habe oder Sequenzen usw..

Das mit der Größe des Blockdiagramms ist auch immer so eine Sache , es ist nicht immer sinnvoll es auf einen Bildschirm zu pressen wenn es strukturiert ist und man klar erkennt welche Ecke für was zuständig ist und etwas auskommentiert ist. Denn auch wenn alle immer sagen mann muss alles in SubVI's packen bin ich der Meinung das es nur dann Sinn macht wenn man dadurch auch den Zusammenhang nicht verliert.
Zum Beispiel die Wahl einer gestapelten Sequenz oder einer flachen die viel mehr Platz wegnimmt. Dann wenn das Programm ausgereift ist und zur vollsten Zufriedenheit läuft kann man immer noch umgestalten weil dann keiner mehr Änderungen vornehmen muss. Solang man programmiert und selber alles im Kopf hat kann es auch 4 Bildschirme groß sein die man am Ende dann sinnvoll verkleinert durch Subs oder Kompromierung oder durch andere Maßnahmen. Aber ich denke da hat jeder seine PhilosophieWink

MfG

T.

' schrieb:Wie du sicher festgestellt hast arbeite ich noch nicht sehr lang mit LV eiuegntlich erst seit Juni.

Einiges in dem VI ist auch noch im Test Modus und wird noch überarbeitet. Ziel des ganzen is es eigentlich einen 3d-Beschleunigungssensor auszuwerten und die ermittelten Daten durch 2 fachintegration in Schwingungen umzurechnen. Zusätzlich soll dann noch das Frequenzspektrum der Schwingung ausgegeben werden.

Das Projekt ist allerdings gerade auf Eis gelegt, weil mein Sensor macken hat und die komplette Hardware überarbeitet wird.

Insofern wird sich einiges in nächster Zeit ändern und dann werde ich deine Tips versuchen zu beherzigen.

MfG

Felix
Eine Frage,

kann ich im LabVIEW 7.0 die While-Schleifen auch verzögern?
Pro Schleifendurchlauf? Dann geht das auch mit der Uhr (Wait ms) und dem Metronom (Wait until next multiple). Oder was hast Du damit gemeint?

Gruß Markus


' schrieb:Eine Frage,

kann ich im LabVIEW 7.0 die While-Schleifen auch verzögern?
' schrieb:Hi,

Ich würde mal in meinen (While-)Schleifen eine Verzögerung einbauen. Es reichen schon 10 ms. Das war bei mir das Problem. Bei mir waren es sogar oftmals 100 % Auslastung.
In der Regel sind EXE-Dateien nicht so "ressourcenintensiv".

Gruß M.Weippert

Ok, ich frage anders. Wie mache ich dass in LabVIEW 7.0?

Ab 7.1 gibt es links oben eine Sanduhr wo ich mit einer Konstanten die Verzögerung angeben kann. Aber auf der Arbeit gibt es nur 7.0 :-( geht es da auch?
Also Leute,

habe das Problem früher auch gehabt. Nun jetzt kann ich eigentlich "gut" in LV programmieren. Habe schon ca. 20 Projekte mit LV gemacht. Die Speicherauslastung ist bei mir ungefähr bei 30 MB und CPU-Auslastung geht vom 2 bis 5 %. Man muss nur lernen, wie es richtig gemacht werden muss. Im Anhang ein Beispiel von mir. Wenn ihr Fragen habt, dann antworte ich gerne.

Interessant ist, dass die Daten mit bis zu 300 Hz kommen. Die Anzeige auf dem FP läuft mit 10 Hz und das Loggen auf die Festplatte mit der Frequenz, mit der die Daten kommen.

Grüss, Eugen
Hier noch ein Screenshot von mir. In diesem Projekt wird mit 7 Geräten gleichzeitig kommuniziert. Aber im Prinzip ähnlich. Ich benutze halt ganz oft Queues und Notifiers und wer das nicht macht ist selber schuld.

Grüsse
Seiten: 1 2
Referenz-URLs