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 

Messintervall mit Eventstruktur



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!

27.08.2012, 13:08
Beitrag #7

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
RE: Messintervall mit Eventstruktur
(27.08.2012 09:44 )gm-axion schrieb:  
(27.08.2012 09:33 )Clyde schrieb:  Das Problem ist aber, dass deine Messung mehr als eine Sekunde benötigt; sonst würden keine negativen Werte auftreten.
Was ich damit sagen will: du solltest das Problem an der Wurzel anpacken und nicht versuchen das Drumherum zu verbessern. Du musst rausfinden warum die Verarbeitung manchmal mehr als eine Sekunde braucht und das beheben.
Die Zeit kann man auch mit der besten Programmierung nicht schneller oder langsamer laufen lassen Wink

Genau das war der Kern meiner Frage Blush Das habe ich wohl nicht so gut ausgedrückt.
Am besten einfach mal ein paar Marken setzen und gucken. Allerdings lief das Programm sogar schon knapp 2 Tage ohne Probleme.
Gibts vielleicht etwas, was auf das Problem hinweist? Ob das leeren des Puffers zwischendrin mal mehr zeit benötigt? Das Cluster sollte für die TDMS-Befehle auch lesbar sein, wenn da die erzeugerschleife nachhängt. (?)

Hallo Jonas,
Deine "Intervallprogrammierung" ist nicht so mein Fall
aber trotzdem ein paar allgemeine Tipps:

- Der Zugriff mittels Property-Nodes und die Umwandlung nach dynamische Daten sind unnötig. Die Property Nodes-Werte (langsamer Zugriff auf die Werte+Frontpanel-Update) kannst Du bestimmt mit den echten Control-Werten ersetzen und gleich in Waveform schreiben, was die Dynamische-Daten-Wandlung überflüssig macht.
Das ganze dann schön kompakt in ein Datenarray mit dem Du in eine For-Schleife gehst und zum Speichern dann nur einen TDMS-Write benötigst.
- „Das Problem ist aber, dass deine Messung mehr als eine Sekunde benötigt; sonst würden keine negativen Werte auftreten.“ – Grund hierfür ist wahrscheinlich die Fragmentierung der TDMS-Datei. Dies ist sehr häufig zu beobachten wenn Einzelwerte geschrieben werden (so wie in Deinem Fall). Als Indikator für die Fragmentierung beobachte mal die automatisch angelegte *.tdms_index Datei. Diese ist dann nahezu gleich gross wie die eigentliche TDMS-Datei. Abhilfe schafft das TDMS- Defrag. Dazu musst Du jedoch das Schreib-Handling wie folgt umstellen: Die TDMS-Datei öffnen-Werte schreiben-TDMS-Datei schließen und anschließend defragmentieren. Du brauchst nicht jede Iteration zu defragmentieren.Hierfür bietet sich an „ausnahmsweise ein Express-Vi  Verstrichene Zeit (elapsed Time)“ zu nehmen, bei der Du am Anschluß (Time Target (s)) z.B. 60s einstellt. Am Ausgang „Time has elapsed“ wertest Du den Boolean in einer case aus (TrueDefrag)—False (nix).
- Wenn das ganze wochenlang bzw. monatelang speichern soll, mache Dir schon einmal Gedanken für einen automatischen Dateisplit.


Gruß
Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Messintervall mit Eventstruktur - rasta - 27.08.2012 13:08

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Eventstruktur in state machine/ Zustandssteuerung Meister Eder 1 3.721 11.02.2014 18:51
Letzter Beitrag: Trinitatis
  Messintervall+Pausenintervall bei Durchflussmessung Jack Bauer 2 3.958 15.08.2007 19:20
Letzter Beitrag: Jack Bauer

Gehe zu: