LabVIEWForum.de
Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Schalter in bestimmten Rahmen einer Sequenz "latchen"? (/Thread-Schalter-in-bestimmten-Rahmen-einer-Sequenz-latchen)

Seiten: 1 2 3 4 5


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - IchSelbst - 10.02.2010 21:15

' schrieb:Sprich lieber ein paar "Verzweigungen" verwenden,
Ja.
Zitat:anstatt zu versuchen das Programm mittels lok. Variablen übersichtlicher zu machen,
Ja.
Zitat:sofern von Übersicht überhaupt die Rede bei mir sein kann!?
Ja.

Bingo! Dreimal Ja!

Lokale Variablen haben einen entscheidenden Nachteil: Sie untergraben das Hauptprinzip von LabVIEW: den Datenfluß. In deinem Falle sind lokale Variablen ein k.o.-Kriterium - weil ReceConditions erzeugend.

Hast du dir auch mal Gedanken gemacht über Sequenzierung? Auch so ein wichtiges Prinzip von LabVIEW. Im übrigen hat Sequenzierung den Vorteil, dass lokale Variablen automatisch vermieden werden.


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 11.02.2010 10:33

' schrieb:Ja.
Ja.
Ja.

Bingo! Dreimal Ja!

Lokale Variablen haben einen entscheidenden Nachteil: Sie untergraben das Hauptprinzip von LabVIEW: den Datenfluß. In deinem Falle sind lokale Variablen ein k.o.-Kriterium - weil ReceConditions erzeugend.

Hast du dir auch mal Gedanken gemacht über Sequenzierung? Auch so ein wichtiges Prinzip von LabVIEW. Im übrigen hat Sequenzierung den Vorteil, dass lokale Variablen automatisch vermieden werden.

Die Verwendung von lokalen Variablen werde ich versuchen soweit zu minimieren, wie ich in der Lage bin.
Über die Sequenzierung hab ich mir ehrlich gesagt bisher wenig Gedanken gemacht. Problem ist, dass ich bisher versucht habe, mich alleine in LabVIEW einzuarbeiten, bzw so recht keine andere Wahl hatte. Grundlagenbücher geben diesbezüglich wenig Aufschluss. Soll keine Ausrede darstellen. Um Fehler zu erkennen und möglichst abzustellen bin ich ja hier und für jeden Tipp dankbar.


Das Beispielprogramm kann ich im großen und ganzen nachvollziehen. Allerdings lässt es sich zumindest bisher nicht ganz auf mein Beispiel anwenden.
Nach meiner Theorie müsste ich ja als Eingang fürs SubVi überall eine lokale Variable der Variblen "Rampenfahrt START" anhängen, da die SubVIs automatisch ausgeführt werden sollen, mit dem Schaltverhalten "latch". Das widerspricht aber dem Aspekt, dass das Schaltverhalten der Variablen nicht "Latch" sein darf wenn ein boolesches Element mit lokalen Variablen verbunden ist.

Darüber bin ich mir ja nun bewusst, dass jede "unnötige" lokale Varible RaceConditions erzeugt.
Huh
Vielleicht könnte mir jemand mit meinem Beispiel die Sache noch etwas verdeutlichen Blush

Edit: Ich weiß nicht, sicher lässt sich die Problematik auch anders lösen.
Oder muss ich versuchen, die Latch-Variable im Unterprogramm mittels Eigenschaftsknoten zurückzusetzen?


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Y-P - 11.02.2010 10:59

Thema in LabVIEW FPGA:verschoben1:.

Gruß Markus


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 11.02.2010 11:10

' schrieb:Thema in LabVIEW FPGA:verschoben1:.

Gruß Markus


Wär es nicht besser nur mein Programm aus dem ersten Post zu löschen und den Thread unter "allgemein" zu lassen? Unsure


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Y-P - 11.02.2010 12:38

OK. Daher zurück-:verschoben1:.

Gruß Markus

' schrieb:Wär es nicht besser nur mein Programm aus dem ersten Post zu löschen und den Thread unter "allgemein" zu lassen? Unsure



Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 11.02.2010 14:05

Gibt es alternativ andere Strukturen, die es mir ermöglichen eine Sequenz oder einen Case o.ä. nur einmal auszuführen ohne die Betätigung eines boolschen Schalters?


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Lucki - 11.02.2010 14:10

' schrieb:Darüber bin ich mir ja nun bewusst, dass jede "unnötige" lokale Varible RaceConditions erzeugt.
So allgemein kann man das auch nicht sagen. Wenn man es begriffen hat, wie LabVIEW funktioniert, dann darf man auch Lokale Variablem gefahrlos verwenden. Ein Methode, Laufzeitprobleme zu vermeiden, ist z.B. die Verwendung von Sequenzrahmen - und davon machst Du ja reichlich Gebrauch. LV enpfiehlt aber auch, diese nicht exzessiv zu verwenden, weil die parallele Auführung von Codeteilen (- also wenn an einer Stelle gewartet wird, wird inzwischen etwas Anderes erledigt -) dadurch verhindert wird.
Schau mal in der LV-Hilfe unter "Laufzeitproblem" nach. Da findest Du mindestens ein Beispiel.


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Lucki - 11.02.2010 14:19

' schrieb:Gibt es alternativ andere Strukturen, die es mir ermöglichen eine Sequenz oder einen Case o.ä. nur einmal auszuführen ohne die Betätigung eines boolschen Schalters?
z.B.häufig verwendet: In einer Schleife gibt es eine Casestruktur, der Bedingungsanschluß ist an i angeschlossen. Es gibt 2 Cases: 0 und default. Default ist leer. Das was bei 0 drin steht wird ein einziges Mal ausgeführt.


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 11.02.2010 15:04

Vielen dank. Das war denke der richtige Anstoß.
Was euch ziemlich leicht fällt kostet mich leider oftmals ziemlich Nerven aufgrund mangelnder Grundlagen Huh
Vielen dank nochmals. Werde aber bestimmt noch die ein oder andere vermeindlich banale Frage stellenWink
Die Hilfethemen zum Laufzeitproblem werde ich mir mal zu gute führen.


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 18.03.2010 11:28

' schrieb:z.B.häufig verwendet: In einer Schleife gibt es eine Casestruktur, der Bedingungsanschluß ist an i angeschlossen. Es gibt 2 Cases: 0 und default. Default ist leer. Das was bei 0 drin steht wird ein einziges Mal ausgeführt.

Manchmal holen einen Sachen später wieder ein, womit man nicht rechnet.
Zumindest hab ich das Problem jetzt doch noch.

Hatte es nach deiner Idee wie folgt programmiert.
Das Problem ist, dass die Schleife ja jedes mal einmal ausgeführt wird, wenn der Rahmen durchlaufen wird. Allerdings sollte er wirklich nur einmal ganz zum Anfang ausgeführt werden.
wie müsste dies aussehen?Sad

Gruß Jan

Lv86_img