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 - 12.12.2007 15:32

Also grob, was ich versuche zu programmieren.

Ich habe 8 Parameter, deren Werte in einen Array geschrieben werden sollen.

Und davon sollen dann mit verschiedenen Werten der 8 Parameter mehrere Arrays zu einem Array zusammen gefasst werden.

Mit anderen Worten ich habe auf meinem Frontpanel die 8 Parameter zum eingeben und nach Eingabe sollen die mit OK bestätigt werden.

Dann geht es in die nächste Sequenz und dan Spiel geht von vorne los (da jetzt die 8 Parameter andere Werte haben).

Z.B.

1. Schritt

0 1 0 0 1 0 0 0

OK

2. Schritt

1 1 0 0 1 0 0 1

OK

3. Schrit

0 0 0 1 1 0 0 1

OK

usw.

Am Ende:

0 1 0 0 1 0 0 0
1 1 0 0 1 0 0 1
0 0 0 1 1 0 0 1
....

Und mein Eingabefeld verändert sich ja nicht und der OK Button bleibt ja auch der gleiche.

Hope that helps.

Cheers, Physikus.


Schalter als Boolean - Physikus - 12.12.2007 16:53

In der Beschreibung von "Switch Until Released" steht doch explizit drin:

Zitat:Switch Until Released changes the control value when you click it and retains the new value until you release the mouse button. At this time, the control reverts to its original value, similar to the operation of a door buzzer

Also "true" sobald ich draufdrücke und er sollte wieder auf "false" stehen sobald ich die Maustaste wieder loslasse...?

Oder was verstehe ich daran falsch?

Cheers, Physikus.

Edit:
Mit diesem Miniprogramm tut er ja auch genau das was er soll: Die Lampe geht an wenn ich auf OK drücke und geht danach wieder aus, wenn ich den Mausknopf loslasse.


Schalter als Boolean - monoceros84 - 12.12.2007 17:11

Genau das tut er auch. Wenn nur aber genau in der kurzen Zeit, wo er mal auf True steht, nicht zum Auslesen kommst (Schleife zu langsam), dann wird das Klicken nicht bemerkt. Andererseits: Wenn du in der Zeit des Klickens zweimal ausliest 8Schleife zu schnell), dann wird das wie zweimal geklickt gehandhabt.

Besser: Switch when pressed, wie Jens schon gesagt hat. Im Case, wo du dann auf den Klick reagierst, setzt du mittels lokaler Variable den Button wieder auf False. Auch das hat Jens schon gesagt:)Somit bleibt dein Button True, bis er auch ausgelesen wird und man muss auch wirklich zweimal klicken, wenn man zweimal die Aktion haben will...


Schalter als Boolean - Physikus - 12.12.2007 17:47

Dass meine Schleife zu langsam ist, habe ich mir auch schon überlegt. Dazu habe ich die Schleife extra mal eine Sekunde angehalten, dass der Button auch auf jeden Fall wieder auf false steht, bis es in den nächsten Frame der Sequenz geht.

Aber auch das hat nichts geholfen. :-(

Ich zeig euch mal die ersten beiden Frames:


Schalter als Boolean - jg - 12.12.2007 17:48

Hallo, Physikus,

ich denke mal, du willst folgendes erreichen (ich hoffe, das Speichern für 6.1 aus 7.0 hat funktioniert):

(EDIT: Anhang gelöscht, da korrupt)

So waren meine allerersten Versuche auch mal (vor allem vor Einführung der Event-Struktur). Dieses VI ist ehrlich gesagt ein schlechtes Bsp. und soll nur zur Verdeutlichung dienen.

Besser fährst du mit einer Event-gesteuerten State-Machine.

MfG, Jens


Schalter als Boolean - Physikus - 12.12.2007 17:51

Ne sorry, macht er nicht auf. :-(


Schalter als Boolean - jg - 12.12.2007 19:25

OK, 2. Versuch, zur Sicherheit mit Screenshots:

[attachment=10315](LV6.1)
[attachment=10316]
[attachment=10317]

Schalter kann stehen auf Switch when pressed oder Switch when Released, beides funzt.


Schalter als Boolean - jg - 12.12.2007 20:57

Offtopic

OK, die Anfangsfragen aus diesem Thread gelöscht und mit dem Rest dieses Thread verbunden... (s. auch #2 & #4).

Und zurück zum Thema, hier ein paar Screenshots von Achims VI:

[attachment=10320][attachment=10321]
[attachment=10322][attachment=10323]
[attachment=10324][attachment=10325]

MfG, Jens


Schalter als Boolean - Physikus - 13.12.2007 12:46

Moinsen,

erstmal danke für die Bilder.

Was ich bei dem ersten Beispiel (bestehend aus zwei Bildern) rein technischnicht ganz verstehe ist das zweite Bild:

Wieso wird dort eine false-constant mit einer lokalen Variablen (im write Zustand) verknüpft und in die while Schleife hineingetunnelt - um dort aber nicht weiterverarbeitet zu werden?


Und im zweiten Beispiel (bestehend aus sechs Bildern): Was ist denn diese Struktur mit diesem gold schraffierten Rand?

Gruß, Physikus.


Schalter als Boolean - Achim - 13.12.2007 12:52

Zitat:Was ich bei dem ersten Beispiel (bestehend aus zwei Bildern) rein technischnicht ganz verstehe ist das zweite Bild:

Wieso wird dort eine false-constant mit einer lokalen Variablen (im write Zustand) verknüpft und in die while Schleife hineingetunnelt - um dort aber nicht weiterverarbeitet zu werden?
Welche lokale Variable in welchem Bild?
EDIT: 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!

Zitat:Und im zweiten Beispiel (bestehend aus sechs Bildern): Was ist denn diese Struktur mit diesem gold schraffierten Rand?
Das ist eine Eventstruktur