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 

Datenspeichern wenn Knopf gedrückt



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!

25.05.2009, 19:38
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Datenspeichern wenn Knopf gedrückt
Dein VI zeugt davon, dass du die Grundprinzipien von LabVIEW offenbar noch nicht richtig verstanden hast.
Dies betrifft zuerst einmal das Datenflussprinzip!
1. Das Setzen von lokalen Variablen ohne Datenflussabhängigkeit im BD ist extrem gefährlich. Du weisst nicht, wann dieses Stück Code wirklich ausgeführt wird. LabVIEW kann so einen Code parallel abarbeiten, und wann dies geschieht, dass weisst du nicht.
   
2. Eine Struktur (wie z.B. eine While-Schleife) wird erst ausgeführt, wenn alle Eingänge anliegen.
Dies hat in deinem VI zur Folge: Deine While-Loop, in die du sehr blauäuigig eine Event-Struktur platziert hast, wird erst ausgeführt, wenn du die Datenerfassungs-Loop UND die "Consumer-Loop" per Stop-Button beendet hast. Somit kannst du maximal den letzten per Queue übertragenen Datensatz speichern.
   
3. Auch bei der Behandlung von Events gehst du komplett falsch vor. Eine While Loop, die du auch noch über ein User-Event abbrechen willst, gehört nie und nimmer in einen Event-Case hinein. Du erzeugst dir selber deinen Lock-Up hierüber:
   
Die Event-Struktur reagiert auf das Value-Change Event des Buttons "Speichern". Dann ist aber das FP gesperrt, und zwar solange, bis der Event-Case abgearbeitet ist. Das geht aber nicht, weil du über den Button "Speichern" auch wieder die While-Schleife abbrechen willst.

Mein Tipp: Mache dich erst einmal an Hand der Beispiele im NI-Examplefinder mit der Event-Struktur viel vertrauter. Da lernst du sicher eine ganze Menge dabei. Und wenn du das dann kapiert hast, dann kriegst du selber das mit dem Speichern hin.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Datenspeichern wenn Knopf gedrückt - jg - 25.05.2009 19:38

Gehe zu: