LabVIEWForum.de - Probleme mit Speicherrate

LabVIEWForum.de

Normale Version: Probleme mit Speicherrate
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
' schrieb:kannst du mir das mit dem queue bitte kurz in einem vi etwas näher erleutern? bzw. mal ein beispiel zeigen, posten?
Ansonsten, NI-Examplefinder starten und Beispiele für Queues suchen und anschauen.
es tut mir ja schrecklich leid, aber ich verstehe bei den beispielen nur bahnhofHuh

in den beispielen werden daten immer nur innerhalb eines vi´s per queue "transportiert" ... ich weiß nicht, wie ich die daten von einem subVI in ein anders subVI schiebe bzw. transportiere. könntet ihr mir das nicht mal an meinem beispiel (auslesen&speichern.vi) erleutern, bzw. mal verdeutlichen?!

danke

Lv85_img
[attachment=13318]
[attachment=13320]
[attachment=13291]
könnte mir irgendwer bitte erklären, wie ich mittels queue daten von subvi zu subvi transferiere? anhand einens beispieles würde ich es vielleicht sogar verstehen ^^ ... DANKE
' schrieb:könnte mir irgendwer bitte erklären, wie ich mittels queue daten von subvi zu subvi transferiere? anhand einens beispieles würde ich es vielleicht sogar verstehen
Im Prinzip ist es so, wie du es schon gemacht hast. Was klappt denn jetzt nicht?
ja keine ahnung warum das da net geklappt hat ^^ glaube ich hatte vorher der,die,das queue schon im "lesen subvi" geschlossen, deswegen kam nix an!

muss aber sagen, dass mein ganzes system bei maximaler abtastrate (150kHz) ganz schön zu tun hat ... gibt es da evtl. verbesserungsvorschläge, was den vi-aufbau betrifft, um die performance etwas zu verbessern?
Gift sind aus meiner Sicht 2 Punkte:

1. (und vor allem): Deine AI-Datenausleseschleife läuft ohne irgendeine "Bremse". Und in jedem Durchlauf schreibst du auch noch Daten in das Chart, die dann im FP aktualisiert werden. Jeder dieser Punkte langt schon, um die CPU-Last auf 100% zu treiben. Stell mal die Parameter so ein, dass du maximal eine FP-Update-Rate von 10 bis 15 Updates pro Sekunde hast.

2. Du hast momentan die Chart-Historie-Länge auf 1024 Waveforms stehen (Achtung, das bedeutet nicht 1024 Datenpunkte, sondern wirklich 1024 Waveforms!). Da kommen natürlich mit der Zeit eine Menge Daten zusammen, die du auch irgendwie im Speicher gehalten werden. Das zerrt mit der Zeit natürlich auch ganz schön an der Performance.

MfG, Jens
' schrieb:Gift sind aus meiner Sicht 2 Punkte:

1. (und vor allem): Deine AI-Datenausleseschleife läuft ohne irgendeine "Bremse". Und in jedem Durchlauf schreibst du auch noch Daten in das Chart, die dann im FP aktualisiert werden. Jeder dieser Punkte langt schon, um die CPU-Last auf 100% zu treiben. Stell mal die Parameter so ein, dass du maximal eine FP-Update-Rate von 10 bis 15 Updates pro Sekunde hast.

2. Du hast momentan die Chart-Historie-Länge auf 1024 Waveforms stehen (Achtung, das bedeutet nicht 1024 Datenpunkte, sondern wirklich 1024 Waveforms!). Da kommen natürlich mit der Zeit eine Menge Daten zusammen, die du auch irgendwie im Speicher gehalten werden. Das zerrt mit der Zeit natürlich auch ganz schön an der Performance.

MfG, Jens

1. "Stell mal die Parameter so ein, dass du maximal eine FP-Update-Rate von 10 bis 15 Updates pro Sekunde hast"

FP-Update-Rate?? wo stelle ich die dann ein? ... kann ich mit den updateraten von 10-15 denn dann noch mein signal so hochfrequent abtasten? oder sammelt er dann nur mehr im hintergund?

2. versteh nicht ganz was das bedeutet??!! speichert er alte signalverläufe ... also immer das, was im diagramm abgebildet wird? wenn ja auch hier die frage, wo kann ich die historie nach jedem durchlauf löschen? (eigenschaftsknoten?)
' schrieb:1. "Stell mal die Parameter so ein, dass du maximal eine FP-Update-Rate von 10 bis 15 Updates pro Sekunde hast"

FP-Update-Rate?? wo stelle ich die dann ein? ... kann ich mit den updateraten von 10-15 denn dann noch mein signal so hochfrequent abtasten? oder sammelt er dann nur mehr im hintergund?
Damit meine ich, so zu programmieren, dass nur 10 - 20 mal pro Sekunde Daten innerhalb deiner Schleife in das Chart geschrieben werden. Die Datenerfassungsschleife rennt bei dir mit höchstmöglichem Tempo.
Hierzu gibt es verschiedene Ansätze:
Ein Ansatz bei Waveform oder XY-Graphen sieht z.B. so aus:
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=18889
Oder du integrierst in deine While-Schleife noch eine Wartezeit.
Oder statt immer alle Daten so schnell wie möglich auszulesen, immer warten, bis mindesten z.B. 1000 Daten erfasst wurden.
usw.

' schrieb:2. versteh nicht ganz was das bedeutet??!! speichert er alte signalverläufe ... also immer das, was im diagramm abgebildet wird? wenn ja auch hier die frage, wo kann ich die historie nach jedem durchlauf löschen? (eigenschaftsknoten?)
Ja, das was du im FP innerhalb des Chart siehst, liegt auch als Daten vor. Zugriff über die PropertyNode "History". Hier übrigens ein leeres Array schreibend anschließen löscht das Chart. Du könntest natürlich auch mal die History-Länge runtersetzten.

MfG, Jens
Seiten: 1 2
Referenz-URLs