INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

CPU Last zu hoch



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!

03.07.2006, 13:42
Beitrag #1

Katagia
Unregistered


 







CPU Last zu hoch
Hi

Ich habe ein kleines Programm geschrieben, mit dem Messdaten vom
Line-In verarbeitet werden sollen.
Ausserdem sollen Messdaten auch geladen/gespeichert werden können.
Prinzipiell funktioniert das ganze. Leider ist die CPU Last (1,73GHz Pentium M)
viel zu hoch.
wenn ich eine Datei lade, liegt die Last bei 66%. Vom Line-In bei 100%.

Welche Tips könnt ihr mir geben?
Ich habe das Programm angehängt.

Ich vermute das Problem ist, wie ich die Echtzeitdarstellung realisiert habe.
In der rechten While-Schleife wird bei jedem Durchlauf ein Abtastwert zur Anzeige
hinzugrfügt und die Schleifendauer auf 1/Abtastrate gesetzt. Meine Vermutung ist,
dass Programm kommt bei hohen Abtastraten nicht mehr hinterher.

Vielen Dank,

Tilo


Angehängte Datei(en)
Sonstige .zip  2._Versuch.zip (Größe: 298,81 KB / Downloads: 181)
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.07.2006, 14:27
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
CPU Last zu hoch
Hi,

ne Anmerkung: Ganz schön chaotisch programmiert...

1. Versuch mal, GERADE Verbindungslinien zu ziehen!
2. Nicht größer als z.b. 1280x1024 programmieren
3. An die Case-Struktur kannst du auch direkt das Ring Control anschließen (Modusauswahl)
4. Versuch mal, Sub-VI's zu erstellen (spart Platz).
5. Die Wartezeit in ner Schleife hat eigentlich die Aufgabe, CPU-Zeit für andere Aufgaben des PC zu reservieren. Wenn z.b. gar keine Wartezeit in der Schleife realisiert ist, wird die volle CPU-Kapazität dieser einen Schleife zur Verfügung gestellt! Hier sollte am besten eine feste Zeit von z.b. 50 ms eingefügt werden. Schau dir mal die Beispiele in LV an, da wird gezeigt, wie man Messdaten "online" darstellt!
6. Lass dir Bedien/Anzeigeelemente im Blockdiagramm nicht als Symbole anzeigen (Rechtsklick...), das spart jede Meng Platz und ist auch nicht weniger informativ!
7. Versuch mal, sauber von links nach rechts zu coden!

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.07.2006, 14:41
Beitrag #3

Katagia
Unregistered


 







CPU Last zu hoch
Mit dem Chaos hast du auf jeden Fall recht. Ich mache gerade meine ersten Schritte. Ich würde das im Moment nicht Programmieren sondern eher
"Try & Error" nennenSmile
An vielen Stellen weiß ich noch nicht, ob LabVIEW automatisch die
Datentypen korrigiert.

Hast du ein Schlagwort für mich, wo ich Beispiele für Messdatenerfassung in LV finde?
Die Hilfe in LV und vor allem die Beispiele sind sehr hilfreich, ich finde mich nur noch nicht so richtig zurecht.

Vielen Dank,

Tilo
Diese Nachricht in einer Antwort zitieren to top
03.07.2006, 14:53
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
CPU Last zu hoch
Hi,

LV >> Hilfe >> Beispiele suchen >> Signalerfassung/ausgabe mit HW >> Continuous Sound Input

...so heißt das jedenfalls in LV8, in früheren Versionen gibts aber garantiert was ähnliches!

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2006, 10:51
Beitrag #5

Katagia
Unregistered


 







CPU Last zu hoch
Hab meinen Code aufgeräumt und SubVis verwendet.
Ich gebe jetzt eine Schleifendauer vor und übertrage jedesmal
alle Abtastwerte die in dieser Zeit angezeigt werden sollen.

Wenn ich eine Datei mit einem Testsignal bei 360Hz lade, funktioniert das ganz gut.

Leider funktioniert es nicht, wenn ich Signale über den Line-In verarbeiten will. Zum einen ist die CPU Last wieder bei knapp 60% ohne Filter.
Wenn ich aus einer Datei lade, ist die Last bei weniger als 10%.
Was aber noch schlimmer ist, dass Messwerte verloren gehen.
Das Signal hat relevante Anteile im Bereich von 0-150Hz.

In der Hilfe von LV 7.1 habe ich nichts zu "Continuous Sound Input" gefunden.
Ich habe nur ein Beispiel gefunden, wie ich den Line-In verwenden kann.

Auf der Webseite von NI habe ich nur etwas für LV8 gefunden.
Sieht so aus, als ob sich die VIs für Audio ziemlich geändert haben.

Ich habe ein Bild von dem SubVI angehängt, mit dem ich die Daten einlese.
Denke damit erkennt man mehr als mit der kompletten Schaltung vorherSmile


Angehängte Datei(en) Thumbnail(s)
   
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sensor ausgabe zählt immer um 8 hoch mrgigi 10 7.059 19.01.2016 16:14
Letzter Beitrag: mrgigi
  Hoch und Runterzählen bei einer Casestruktur Darroc 5 6.552 25.01.2012 22:23
Letzter Beitrag: Darroc
  CPU Auslastung mit Kamera im Betrieb zu hoch karl1 2 3.704 06.10.2008 14:54
Letzter Beitrag: karl1
  Prozessorauslastung hoch durch Express VIs?? ml 3 4.497 06.12.2006 15:24
Letzter Beitrag: Kvasir

Gehe zu: