LabVIEWForum.de
Schalter als Boolean - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Schalter als Boolean (/Thread-Schalter-als-Boolean)

Seiten: 1 2 3


Schalter als Boolean - Physikus - 13.12.2007 13:05

Achim schrieb:Ah...du meinst in Jens' Beispiel...das legt nur die Reihenfolge fest, damit die Konstante erst initialisiert wird und erst dann die Schleife ausgeführt wird!

Versteh ich nicht.

Ich habe es mir auch einmal im Highlightet Modus angesehen. Und dann läuft von der false-konstant etwas zu der lokalen Variablen und zu der while-Schleife.

Und?

Und wozu habe ich das ganze nochmal auf der rechten Seite der Struktur?

Cheers, Physikus.


Schalter als Boolean - Physikus - 13.12.2007 14:29

Salve folks,

also ich habe für meine Verhältnise noch eine provisorische Lösung gefunden:

Und zwar habe ich vor den nächsten Frame noch einen dazwischen gesetzt mit einer While-Schleife. Und diese While schleife läuft so lange (mit einer Ausführung von wait 50ms), so lange der Schalter auf True steht, erst dann bricht sie ab.

Sprich mit meiner Mechanischen Aktion "Switch Until Released" wird das Programm bei länger gedrückter Taste noch in diesem Zwischenschritt aufgehalten, bis die Taste wieder losgelassen wird.

Vielleicht keine saubere Programmierung, aber es tut ;-)

So long, Physikus.


Schalter als Boolean - jg - 13.12.2007 17:32

' schrieb:Versteh ich nicht.

Ich habe es mir auch einmal im Highlightet Modus angesehen. Und dann läuft von der false-konstant etwas zu der lokalen Variablen und zu der while-Schleife.

Und?

Und wozu habe ich das ganze nochmal auf der rechten Seite der Struktur?

Cheers, Physikus.
Nachtrag: Ich arbeite mit Switch when pressed, deshalb muss der Button wieder zurückgesetzt werden. Daher das schreiben eines FALSE-Wertes in lokale Variable. Das Weiterführen links im Bild soll nur Ablaufreihenfolge sicherstellen (erst schreiben Variable, dann Ausführen While-Loop). Auf die Ablaufreihenfolge im Highlight-Modus darfst du dich dabei NICHT verlassen.
Das Schreiben rechts dient dazu, am Ende der Sequenz (und zwar erst am ENDE) den Button wieder zurückzusetzen (wie gesagt, Switch when pressed!). Man könnte das natürlich auch mit zusätzlichen Schritten in der Sequenz machen.

Insgesamt natürlich trotzdem übler Code.

Und so nebenbei, mit deinem Zwischenschritt bist du doch schon fast bei der State-Machine von Achim. Bloss halt ohne Event-Structure (hierzu: welche 6.1-Version hast du denn: Base, Full, Pro? Nur bei den Base-Paketen fehlt die Event-Struktur!).

MfG, Jens


Schalter als Boolean - Physikus - 14.12.2007 08:32

Also bei der LabVIEW Version bin ich überfragt.

Es steht zwar wenn ich z.B. auf "About LabVIEW" gehe groß und breit Version 6.1 drauf...

...aber ob das jetzt Base, Pro o.ä. ist, keine Ahnung.

Vielleicht finde ich es noch herausWink

Cheers, Physikus.


Schalter als Boolean - Physikus - 14.12.2007 08:40

Aber jetzt mal noch eine Frage zur besseren Programmierung.

Dass ich das ganze mit mehreren Sequenzen programmiere macht das ganze ja ein wenig statisch. Denn der Anwender kann ja maximal nur so viele Wiederholungen machen, wie ich Frames in dem Programm vorgebe.

Also kam die Überlegung ob ich das ganze nicht mit einem For Loop mache, wo die Wiederholungszahl ein "Control" ist.

Jedoch habe ich mich gefragt, wie ich dann nach jedem Durchlauf das Ergebnis auslese und Stück für Stück in einen Array schreibe.

Wenn ich also mit Build Array arbeite, dass mir LabVIEW nach dem zweiten Durchlauf die Ausgabe in dem Array nicht einfach überschreibt, sondern quasi eine Zeile weiterrutscht und da die Ausgabe hineinschreibt.

Bei der Suche im Forum bin ich dann auf folgende Konstruktion gestoßen und frage mich, ob das die Funktion aufweist, die ich mir wünsche.

Cheers, Physikus.


Schalter als Boolean - jg - 14.12.2007 18:11

Porbiers doch aus, dann wirst du feststellen, dass dem nicht so ist.

1. Schleifenindex ist das "i" links unten in der Ecke, kannst du direkt verwenden.
2. Was dir der Einfachheit halber genügen sollte, ist entweder erst mal nur ein Build-Array + Schieberegister oder noch einfacher, per Autoindizierung die For-Schleife selber das Array bauen lassen. Hierzu ein simples Bsp:
[attachment=10370]
Das Array lautet dann [0;1;2;...;9]

MfG, Jens