LabVIEWForum.de
Reset wenn Save gedrückt - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Reset wenn Save gedrückt (/Thread-Reset-wenn-Save-gedrueckt)



Reset wenn Save gedrückt - baggio2008 - 23.04.2015 09:27

Hallo Forum-Leute,
Für mein Test-Vi versuche Ich Daten über 2 Kanäle kontinuierlich zu erfassen und speichern wenn save gedruckt wird. In der Schleife habe ich Reset-Button gestellt um die Iteration zurückzusetzen. Meine Frage ist wie kann ich Save- und Reset-Button kombinieren, so dass beim Drücken Save die Iteration zurückgesetzt wird und die Daten bis Ende der Iteration gespeichert werden.
Vielen Dank für die Vorschläge.


RE: Reset wenn Save gedrückt - GerdW - 23.04.2015 10:04

Hallo baggio,

Zitat:In der Schleife habe ich Reset-Button gestellt um die Iteration zurückzusetzen.
Da ist kein "Reset"-Button. Da ist einer namens "Boolesch", den meinst du wahrscheinlich…

Zitat:wie kann ich Save- und Reset-Button kombinieren, so dass beim Drücken Save die Iteration zurückgesetzt wird und die Daten bis Ende der Iteration gespeichert werden.
- Was bedeutet bei dir "bis zum Ender der Iteration"? Eine "Iteration" bezeichnet üblicherweise genau einen Schleifendurchlauf!
- Um deine Frage wortwörtlich zu beantworten: den Button "Boolesch" löschen und das Select mit deinem Save-Button verbinden…

Mal etwas Pseudocode:
Code:
merker := merker OR save ; in Schieberegister speichern!
IF merker THEN
  save data
ENDIF
IF iteration>x OR stop THEN
  end loop
ENDIF

Zu deinem SplitSignal: Wozu in diesem VI jetzt noch ein ExpressVI? Was gefällt dir nicht an einem einfachen IndexArray?


RE: Reset wenn Save gedrückt - baggio2008 - 23.04.2015 10:37

Hallo GerdW,
vielen Dank für die Antworte,

Merke 1: Zu deinem SplitSignal: Wozu in diesem VI jetzt noch ein ExpressVI? Was gefällt dir nicht an einem einfachen IndexArray?
Sie haben recht, aber es ist für mich ein Test vi um den save-Programm zu schreiben um später im eigentlichen Programm zu implementieren.

Merke 2Big Grina ist kein "Reset"-Button. Da ist einer namens "Boolesch", den meinst du wahrscheinlich…
Reset-Button ist Boolesch, das brauche ich auch im meinem Programm, denn im Programm benötigt man manchmal es um die Iteration ohne Datenspeicherung zurückzusetzen.

Merke 3: Mal etwas Pseudocode
Gerdw, Dein Pseudo-programm könnte mir helfen, aber es ist mir schwer das im LV umzuwandlen, denn ich bin nicht so fit beim Programmieren.
Wäre sehr nett es als LV-Code.

Vielen Dank noch mal für die Hilfe.


RE: Reset wenn Save gedrückt - GerdW - 23.04.2015 10:46

Hallo baggio,

ich habe versucht, deine Beschreibung sinngemäß umzusetzen:
[attachment=52901]
Ich hoffe, ich habe das soweit richtig verstanden…


RE: Reset wenn Save gedrückt - baggio2008 - 23.04.2015 13:28

Hallo Gerdw,
vielen Dank für die Lösung ist genau was ich wollte. Noch eine Frage im Bezug von Daten-Scheriben. Ich werde diese klein Programm zu einem aufwendigen Programm mit 15 Kanälen und für jede Kanal 4 Datensignalen speichern. Meine Frage ist den Auswahl von TMDS geeignet? Wenn nicht was für andere Möglichkeiten gibt es?
Danke Schöne noch einmal


RE: Reset wenn Save gedrückt - GerdW - 23.04.2015 13:33

Hallo baggio,

Zitat:Ich werde diese klein Programm zu einem aufwendigen Programm mit 15 Kanälen und für jede Kanal 4 Datensignalen speichern.
Sowas nennt man "skalieren"…

Zitat:Meine Frage ist den Auswahl von TMDS geeignet?
Ja.

Zitat:Wenn nicht was für andere Möglichkeiten gibt es?
Du kannst alle möglichen File-Funktionen verwenden. Ob es sinnvoll ist, kann ich nicht sagen - ich kenne deine Anforderungen nicht (anfallende Datenmenge, gewünschte Dateigröße, Auswertetools, …).

Tipp:
Wenn du dein Programm übersichtlich halten willst, wäre die Anwendung des Producer-Consumer-Schemas sinnvoll.
So würdest du auch auf einfache Weise verhindern, dass dir Dateioperationen dein Timing in der DAQ-Schleife vermiesen…


RE: Reset wenn Save gedrückt - baggio2008 - 23.04.2015 14:16

Die Datenerfassung Verarbeitung und Speicherung laufen momentan in einem einzigen Loop. Insgesamt sind 15 Kanäle für 5 Sensoren. Ich habe 2 Screenshot für den Plotteil und noch einem für die Verarbeitung hoch-geladen.Die Anwendung des Producer-Consumer-Schemas wäre wirklich sinnvoll und mir helfen, aber das Problem ist es ich habe niemals solche Schema programmiert. Klein Tuto habe ich schon gelesen aber mit mehrere Daten zu verwalten wie meinem Fall ist es für mich sehr schwer mit Producer-Consumer-Schemas zu arbeiten. Beispeil für ein Kanal habe ich schon gesehen, aber mit mehrere als 2 Kanäle, erfassen, verarbeiten, darstellen und speichern, weiße ich nicht wie ich das Producer-Consumer-Schemas strukturieren kann.
Vielleicht kannst Du mir Beispiel oder Tipps geben.

Vielen Dank.


RE: Reset wenn Save gedrückt - GerdW - 23.04.2015 14:25

Hallo baggio,

was sollen mir diese Bilder sagen?

Ich sehe nur:
- VIs mit viel zu vielen Ein-/Ausgängen
- viel zu viele Reverse1DArray-Funktionen
- viel zu viel Leitungen mit dem DDT

Allgemeiner Hinweis: Wenn man etwas mehrfach durchführen will, bietet es sich IMMER an, Schleifen dafür zu verwenden. LabVIEW unterstützt dich darüber hinaus durch das überaus nützliche Autoindexing…


RE: Reset wenn Save gedrückt - baggio2008 - 23.04.2015 16:52

Hallo Gerdw,
Vielen Dank für die Anmerkungen.
Merke: Ich sehe nur:
- VIs mit viel zu vielen Ein-/Ausgängen
- viel zu viele Reverse1DArray-Funktionen
- viel zu viel Leitungen mit dem DDT.

Sie haben recht aber die Leitungen und Rever1DArray-Funktionen gehören zu den jeweilgen Kanäle. Es ist der Grund warum ich habe so Programmiert. Vielleicht gibt es anderen Weg. Es ist für mich noch zu suchen.

Vielen Dank


RE: Reset wenn Save gedrückt - baggio2008 - 24.04.2015 15:32

Hallo Gerdw,
vielen dank für die Hilfe. Reset und Save-taster kombiniert funktionnieren wie ich wollte.
Danke für den Code.