LabVIEWForum.de
Wert in Array zwischenspeichern wenn größer/ungleich 0 - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Wert in Array zwischenspeichern wenn größer/ungleich 0 (/Thread-Wert-in-Array-zwischenspeichern-wenn-groesser-ungleich-0)

Seiten: 1 2


Wert in Array zwischenspeichern wenn größer/ungleich 0 - udcno@AL - 16.11.2010 10:55

Hallo Experten,

ich bekomme über ein VISA eine Wert für die z- Koordinate gesendet. Dieser Wert ist jedoch in LV nur ungleich 0, in dem Moment wenn auch gesendet wird. Anderfalls ist er 0.

Ich möchte gern zu meinen Channels in er TDMS die z Koordinate mit dazu schreiben. Also am Anfang senden, dann so lange in die Datei schreivben bis neuer Wert gesendet wird. Bei mir kommt dazwischen bis jetzt halt immer nur 0.

Ist sicher nicht so schwer, aber ich bekomm es seit 2 Tagen echt nicht hin.

Anbei mein Ansatz bis jetzt:


Vielen Dank im Voraus!

AL


Wert in Array zwischenspeichern wenn größer/ungleich 0 - aptiva - 16.11.2010 11:01

Ich würds über ne globale funktionale Variable probiern, die nur beschrieben werden kann, wenn der Wert ungleich 0 ist.
Wenn der Wert 0 ist, bleibt der Vorgängerwert im Speicher, der zuletzt ungleich 0 war und kann somit wieder abgerufen werden.


Wert in Array zwischenspeichern wenn größer/ungleich 0 - udcno@AL - 16.11.2010 11:21

Danke für die schnelle Antwort!

Wie genau mach ich das? Bin Änfänger, sorry...


Wert in Array zwischenspeichern wenn größer/ungleich 0 - M Nussbaumer - 16.11.2010 11:21

Verwende doch ein Schieberegister um dir den Wert zu merken und ggf einen neuen Wert anzuhängen. Momentan wird dein Wert beim True-Fall einfach mit 0 überschrieben. Soweit ich das auf dem Screenshot sehen kannWink

Gruss Marc

Edit Darfst du das VI anhängen? Oder soll man ein Beispiel machen?


Wert in Array zwischenspeichern wenn größer/ungleich 0 - udcno@AL - 16.11.2010 11:24

Hallo Marc,

dank dir! Ja das denke ich auch.

Wo soll ich denn das Schieberegister einbauen? Der Wert muss ja irgendwann aus dem Case raus?


Wert in Array zwischenspeichern wenn größer/ungleich 0 - udcno@AL - 16.11.2010 13:16

Entschuldigung!

Zu dem VI oben. Version 2009Lv09_img2


Wert in Array zwischenspeichern wenn größer/ungleich 0 - M Nussbaumer - 16.11.2010 13:32

Phew, du solltest dir mal Gedanken bezüglich Datenfluss (Leitungen nur von links nach rechtsWink) machenHuh
Was für einen Dateinamen verwendest du, wenn du das VI zum ersten Mal startest? Ist es gewollt, dass das Datum des letzten Versuches für die neuen Daten verwendet werden?
Bei Feedback-Nodes musst du dir Gedanken machen, was du beim ersten Aufruf machst, denn deine bisherigen sind nicht initialisiert und enthalten beim ersten Aufruf gerade mal den Defaultwert.

Ich persönlich meide die Dinger so gut es geht, da sie wesentlich mehr Gehirnschmalz benötigen als ein Schieberegister und zudem helfen die Schieberegister bei "schönem" Programmierstil, nämlich von links nach rechts^_^

Hab dir mal reingeschrieben wie ich das mit den Nullen machen würde, wie du die Daten weiterverwendest weisst du besser als ichTongue

Und den Aufräumen-Knopf hab ich auch mal gedrückt, das Ergebnis verdient keinen Oskar aber man kann es jetzt meiner Meinung nach besser lesen.

LabVIEW 2009

[attachment=30625]

Hoffe das hilft dir weiter

Gruss Marc


Wert in Array zwischenspeichern wenn größer/ungleich 0 - udcno@AL - 17.11.2010 10:21

Hallo Marc,

vielen Dank nochmal!! Das hat mir wirklich sehr weitergeholfen!! Wo genau ist denn der "Aufräumen Knopf"?:)Danke, dass du dir die Arbeit gemacht hast, hab mein eigenes Prog kaum wiedererkannt.

Das mit den Feedback-Nodes ist so ein Problem. Sie erstellen sich von selbst wenn ich die Verbindung erzeuge. Habe auch nichts im Forum gefunden, wie ich diese initializieren kann.Sad
Bekomm Sie aber auch nicht raus. "Replace with Shift Register" ist bei mir nur grau hinterlegt. Sicher weil ich dort keine Schleife habe.

Zurzeit lebe ich damit das VI 3 mal laufen zu lassen bevor es funktioniert. Wenn du aber noch einen guten Tipp für mich hast - sehr gerne!!!


VG

AL


Wert in Array zwischenspeichern wenn größer/ungleich 0 - M Nussbaumer - 18.11.2010 08:03

Da schau ich doch gleich mal in der Trickkiste nachCool

Also erstmal, dass hier ist der "Aufräumen-Button" funktioniert nicht immer wirklich platzsparend, erhöht aber die Lesberkeit wesentlich:
[attachment=30698]

Zum Problem mit den Schieberegistern, ich verwende einfach eine Schleife welche 1x durchlaufen wird und schon kann ich meine Schieberegister erstellenO Habs dir reineditiert (Kommentare in Rot). Mit welchen Werten du die einzelnen Register initialisierst musst du selbst wissenWink

Lv09_img2[attachment=30699]

Hoffe das hilft dir weiter^_^

Gruss Marc

Falls ich tiefer in der Trickkiste graben soll, musst du dich halt melden Wink


Wert in Array zwischenspeichern wenn größer/ungleich 0 - Martin Heller - 18.11.2010 09:09

' schrieb:Also erstmal, dass hier ist der "Aufräumen-Button" funktioniert nicht immer wirklich platzsparend, erhöht aber die Lesberkeit wesentlich:
[attachment=59749:Aufr_umen.png]

kann mit Lv09_img2 nicht nur einen Teil des Codes "Aufgeräumt" werden?