LabVIEWForum.de - Daten bei Knopfdruck abspeichern

LabVIEWForum.de

Normale Version: Daten bei Knopfdruck abspeichern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

im Rahmen meiner BA arbeite ich nun mit Labview und habe nun mitlerweile ein VI, was eine Kamera ansteuert, ein Livebild ausgiebt (Laserprofil) , Plots erstellt und schließendlich einen Wert für den Strahldurchmesser ausspuckt, der sich immer leicht ändert, da ja ein Laser nicht 100% konstant ist.

Jetzt versuche ich mich an einer Methode, mit der ich es schaffe, auf Knopfdruck den momentan angezeigten Wert für den Strahldurchmesser in einem Array zu speichern. Wenn ich dann nochmal auf den Knopf drücke, soll der aktuelle Wert wieder gespeichert werden usw, so dass ich nachher beim Verschieben meiner Kamera immer auf den Knopf drücken kann und somit später ein Array aus den vescheidenen Werten für den Strahldurchmesser habe.

Ich hab mich schon hier im Forum und anderen Foren umgeschaut und habe dabei auch VIs zum Abspeichern von Daten gefuden , aber das ist nicht ganz das richtige was ich suche und ich bin momentan mit meinem Latein am Ende.

Das angehängte VI zeigt den Teil mit meinen Versuchen dazu, nur das klappt nich so richtig.
Hier sollte das z.B. Array 5 verschiedene Zufallszahlen anzeigen und zwar jedesmal, wenn ich bei einer Zahl die mir "gefällt" auf einen Speicherknopf gedrückt habe und das dann insgesamt 5 mal. Eine eventuell nötige Schleife sollte direkt nach dem Schreiben des Wertes in das Array wieder abbrechen, da fast das komplette restliche VI mit Bild erzeugen, anzeigen und Weiterverarbeitung bereits in einer riesigen Schleife hängt und somit das VI an dieser "abspeichern" Schleife hängen würde.

Hoffe mein Prolbem ist klar geworden.

mfg




Lv85_img
Wie wäre es, das Build-Array nur im TRUE-Case der Case-Struktur durchzuführen?!

Gruß, Jens
Hallo,

also, wenn ich das ganze "Build Array" Teil in die case structure unter true einbaue passiert rein garnichts, wenn ich den Knopf drücke. Das Array ist die ganze Zeit scheinbar nicht initialisiert.
Dann schau dir mal genau den Ausgangterminal deines Cases an! Was passiert im False-Case? Auch das Schaltverhalten des Button ist entscheidend. Am besten findest du den Fehlern, wenn du das ganze mit Sonden debuggst Smile

Beste Grüße,
NWO
Natürlich im False-Case das bisher erstelle Array durchverbinden:
[attachment=39685]
Wieso machst du jetzt etwas falsch, was du im ersten VI richtig gemacht hast?

Gruß, Jens
Hallo Lucius,

THINK DATAFLOW!

Und danach bitte darüber nachdenken, was ein "Standard verwenden, wenn unverbunden"-Ausgangstunnel so alles bewirkt...

Edit:
Mist: ab und zu mal das Browserfenster refreshen wäre sinnvoll Smile
Ok, schonmal Danke an die Hinweise bis jetzt. Jetzt hab ich noch folgende 2 Probleme:

1) Da wie im OP beschrieben das ganze sich in einer Über-Schleife befindet, darf sich halt die "Abspeichern-Schleife" nicht im Kreis drehen. Im Moment hab ich das noch sehr umständlich, aber ich hab schon mit ziemlich vielen Boole'schen Schaltern rumgespielt, irgendwie passiert nie das, was ich will Sad

Um aus der außenstehenden Randomzahl-Schleife in das Array einen Wert abzuspeichern muss ich jetzt folgendes drücken:
1. Boole An
2. Ok
3. Boole Aus
4. save value

Dann steht im Array "saved value" der Wert.

Dann kommt Problem Nummer 2:
Jetzt wird logischerweise beim Neustarten der Speichern-Schleife der alte Wert überschrieben. Es soll halt einfach den nächsten Wert dadrunter packen. Hab schon versucht, das Array weiter nach außen zu ziehen, nur das wollte auch nicht so richtig.
Ich hab echt noch irgendwie Probleme mit den Schleifen und Cases, obwohl ich mir schon massig Guides durchgelesen hab.
Hallo Lucius,

im Anhang mal eine geringfügig geänderte Variante. Sie geht in Richtung einer FGV (aka AE), zumindest vom Konzept her...
Du hast jetzt eine Auswahl für den Arbeitsmodus (clear/init, add value, read values). Um Werte hinzuzufügen, musst du immer noch "OK" drücken. Außerdem kannst du nun relativ leicht alles in eine Event-driven-Statemachine umwandeln, die Grundlagen sind gelegt Smile
Hallo,

danke erstmal für deinen Lösungsvorschlag, funktioniert soweit super damit. Ich hab zwar keine Ahnung, was FGV, AE oder Event-driven-Statemachine sein soll (bitte nicht hauen), aber bin trotzdem sehr zufrieden damit.

mfg
Hallo,

ich hab doch noch ein Problem und zwar wie kann ich es machen, dass das Array NUR gelöscht wird, wenn man "init/clear" auswählt, weil momentan dies halt auch logischerweise passiert, wenn man das Programm stoppt, dann wieder startet und futsch ist das array wieder leer.

mfg
Seiten: 1 2
Referenz-URLs