LabVIEWForum.de
Wert in einer Schleife außerhalb einer Schleife ändern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Wert in einer Schleife außerhalb einer Schleife ändern (/Thread-Wert-in-einer-Schleife-ausserhalb-einer-Schleife-aendern)



Wert in einer Schleife außerhalb einer Schleife ändern - Andi A - 30.06.2010 09:27

Hallo Zusammen,

ich bin neu hier und vorab möchte ich kurz loswerden, dass ich hier schon selbst einige hilfreiche Tipps gefunden habe und das Forum klasse finde. Jetzt habe ich mich selbst angemeldet, da ich mit einem Problem nicht weiterkomme und auch die Suche nicht den Ertrag gebracht hat (Ich kann mein Problem wahrscheinlich in wenigen Worten so beschreiben um bei der Suche damit erfolgreich zu sein). Nun hoffe ich, dass mir hier jmd. helfen kann.

Ich habe eine Flat Seq. Structure in denen nacheinander mehrere Schleifen ablaufen. Dabei möchte ich von außerhalb (außerhalb der Flat Seq. Structure) einen Wert ändern, der mit in die Schleifen geführt wird und sich dort auch ändert. Jedoch ist es so, dass ich den Wert der außerhalb der Flat Seq. Structure liegenden Control ändern kann, jedoch bei den Schleifen nur der Wert anliegt, der zu Beginn der Schleife gegeben war.

Ausprobiert habe ich es schon mit einer Global Variable jedoch bin ich damit nicht zu Rande gekommen.

Vielen Dank für konstruktive Vorschläge und Entschuldigung, wenn die Frage unter dem allg. Niveau ist.

Andi

Lv82_img


Wert in einer Schleife außerhalb einer Schleife ändern - RMR - 30.06.2010 09:40

Hi,

ich löse sowas mit _LOKALEN VARIABLEN_. Das ist natürlich wegen der Racekonditions nicht die sauberste Lösung aber es hat bei mir hier immer funktioniert.

Keep on rockin, RMR


Wert in einer Schleife außerhalb einer Schleife ändern - dimitri84 - 30.06.2010 09:41

Willkommen Andi!

' schrieb:Ich habe eine Flat Seq. Structure in denen ...
Das werden wir dir schon noch austreiben.

Zitat:nacheinander mehrere Schleifen ablaufen. Dabei möchte ich von außerhalb (außerhalb der Flat Seq. Structure) einen Wert ändern, der mit in die Schleifen geführt wird und sich dort auch ändert. Jedoch ist es so, dass ich den Wert der außerhalb der Flat Seq. Structure liegenden Control ändern kann, jedoch bei den Schleifen nur der Wert anliegt, der zu Beginn der Schleife gegeben war.

Ausprobiert habe ich es schon mit einer Global Variable jedoch bin ich damit nicht zu Rande gekommen.
Zu aller erst poste doch mal bitte ein Bild von deinem Blockdiagramm. Rumraten macht nämlich nicht besonders viel Spaß.

Ein Problem bei dir könnte sein, dass das Control außerhalb deiner Sequenz nur einmal (wahrscheinlich beim Programmstart) ausgelesen wird. Wenn sich danach etwas ändert interessiert das keine Sau... Für konkrete Vorschläge bitte ein Bild vom VI posten.

Zitat:Vielen Dank für konstruktive Vorschläge und Entschuldigung, wenn die Frage unter dem allg. Niveau ist.
Ach was! Da gibt's ganz andere Fragen.


Wert in einer Schleife außerhalb einer Schleife ändern - Andi A - 30.06.2010 09:54

Danke für die Antworten. Ich habe meine alten Beitrag editiert und eine BSP VI - reduziert auf mein Problem - angehangen. Ich hoffe das erklärt mein Problem anschaulich.

Danke
Andi


Wert in einer Schleife außerhalb einer Schleife ändern - dimitri84 - 30.06.2010 10:10

' schrieb:Danke für die Antworten. Ich habe meine alten Beitrag editiert und eine BSP VI - reduziert auf mein Problem - angehangen. Ich hoffe das erklärt mein Problem anschaulich.
Das Beispiel ist Schrott. Oder einfach nur zu stark reduziert ...

Daraus wird nicht ersichtlich warum dein Control außerhalb der Schleife liegen muss. Muss es denn? Und wozu ist die Sequenz-Struktur? Sie tun zwar generell niemanden wirklich weh, aber die viel bessere Alternative dazu ist eine Sequenzierung via Fehlercluster. Zumal in dem Beispiel garnichts sequenziert wird ...

Wenn du eine quick'n'dirty Lösung willst, dann nimm einfach die lokale Variable, wie von RMR vorgeschlagen. Such aber dann auch nach dem Begriff "Race Conditions" und verstehe was das bedeutet.


Wert in einer Schleife außerhalb einer Schleife ändern - Andi A - 30.06.2010 10:51

' schrieb:Das Beispiel ist Schrott. Oder einfach nur zu stark reduziert ...

Ich wollte nicht die ganze VI anhängen, wäre zu unübersichtlich und darf leider Informationen daraus nicht weitergeben.


Zitat:Daraus wird nicht ersichtlich warum dein Control außerhalb der Schleife liegen muss. Muss es denn? Und wozu ist die Sequenz-Struktur? Sie tun zwar generell niemanden wirklich weh, aber die viel bessere Alternative dazu ist eine Sequenzierung via Fehlercluster. Zumal in dem Beispiel garnichts sequenziert wird ...

Also bei der Sequenz gebe ich dir recht, die ist in diesem Falle (mein reduziertes Bsp.) überflüssig. Jedoch werden in der eigentlichen VI Arrays sequentiell abgearbeitet und meine Idee war es die Geschwindigkeit dieser Abarbeitung mit dem Wait-Block zu steuern. Dabei soll die Geschwindigkeit quasi global festgelegt werden und in allen Sequenzen bzw. Schleifen gültig sein.

Zitat:Wenn du eine quick'n'dirty Lösung willst, dann nimm einfach die lokale Variable, wie von RMR vorgeschlagen. Such aber dann auch nach dem Begriff "Race Conditions" und verstehe was das bedeutet.

Habe ich schon ausprobiert und erfüllt meine Ansprüche. "Race Conditions" sollte für mich nicht relevant sein, da nur eine Control auf die Local Variable als Write darauf zugreifen kann.

Gruß
Andi


Wert in einer Schleife außerhalb einer Schleife ändern - rasta - 01.07.2010 05:30

Hallo Andi,
im Anhang eine lv82Alternative zu der lokalen Variablen.
Stichwort: Referenzen

Gruß
Ralf


Wert in einer Schleife außerhalb einer Schleife ändern - dimitri84 - 01.07.2010 06:47

Hier spricht aber nix gegen die Variablen. Soweit ich weiß sind die auch schneller als die Nodes.