LabVIEWForum.de - zwei Schalter, eine Ausgabe je nach Schalterlabel

LabVIEWForum.de

Normale Version: zwei Schalter, eine Ausgabe je nach Schalterlabel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Ich habe zwei Schalter. Je nachdem welchen der Schalter ich betätige, soll mir ein bestimmter Wert ausgegeben werden.
Also klicke ich auf Schalter1 (und zwar jedesmal, d.h. egal ob der Schalter damit auf True oder False gesetzt wird), dann gib mir im Anzeigeelement1 den Wert 0 aus.
Klicke ich auf Schalter2, dann gib mir im Anzeigeelement1 den Wert 1 aus.

Habe es mit einer Case-Struktur probiert, aber damit kann ich nicht beide Schalter gleichzeitig damit verbinden.
Und eigentlich ist die Schalterstellung ja auch egal, denn eigentlich will ich ja erfahren, welcher der beiden Schalter gerade betätigt wurde (also eigentlich müßte ich das Label der Schalter auslesen, geht das?).

Wie macht man sowas in LabView?
Hallo Beam,

nimm eine Event-Struktur und richte zwei Events (je eines pro Button) ein. Im Eventcase dann einfach den passenden Wert ausgeben…
(Wenn du nur Mausklicks auswerten willst, würde ich ein MouseDown empfehlen.)
Hallo,

Danke. Nachdem ich erstmal gelesen hatte, wie man wo die Drähte verbinden muß, hat es schon mal grundsätzlich funktioniert (obwohl ich diese Event-Struktur noch nicht durchschaue, z.B. was die Einträge an der linken Innenseite alle bedeuten und wofür die gut sind). Aber sehr interessant diese event-Struktur, man kann da ja einfach jedes Control auswählen und darauf individuell reagieren.

Problem dabei: Diese Event-Struktur hält doch die Ausführung des Programms solange an bis ein Button gedrückt wurde (zumindest geht es nicht weiter, wenn ich mir den Programmfluß mit der Glühbirne anzeigen lasse und in der Context-Hilfe steht auch sowas). Läßt sich das umgehen?
Ich lese ja auch kontinuierlich Werte aus einem Gerät aus und nur in variablen Abständen wird auf die Buttons geklickt (um was damit zu steuern), d.h. das Programm darf nicht solange stoppen, bis der Button gedrückt wurde, sondern muß kontinuierlich weiter laufen (habe dafür eine While-Schleife).
Hallo Beam,

Zitat:Diese Event-Struktur hält doch die Ausführung des Programms solange an bis ein Button gedrückt wurde
Jein.
Eine Eventstruktur wartet auf das nächste Event - das kann auch ein TimeOut sein.
Das mit den Einsteigerkursen und meiner Signatur hast du doch schon einmal gehört, oder? Big Grin
Und noch ein Tipp: LabVIEW bietet auch jede Menge Beispiel-VIs, die man inspizieren kann!

Zitat:das Programm darf nicht solange stoppen, bis der Button gedrückt wurde, sondern muß kontinuierlich weiter laufen (habe dafür eine While-Schleife).
Und da kommen wir zum Thema "Programm-Design"! Es gibt ja noch mehr als nur eine simple While-Loop, die ALLES enthält.
Und auch dafür bietet LabVIEW Beispiel-VIs/-Projekte! (Statemachine, Producer-Consumer, QMH, ActorFramework,…)
(07.02.2017 14:56 )GerdW schrieb: [ -> ]Jein.
Eine Eventstruktur wartet auf das nächste Event - das kann auch ein TimeOut sein.

Ok, jetzt bleibt es zumindest nicht mehr hängen und der Stop-Button der While-Schleife funktioniert wieder.

Zitat:Das mit den Einsteigerkursen und meiner Signatur hast du doch schon einmal gehört, oder? Big Grin
Und noch ein Tipp: LabVIEW bietet auch jede Menge Beispiel-VIs, die man inspizieren kann!

Das mit der Nadel in tausend Heuhaufen hast du doch auch schon mal gehört, oder? Big Grin

Zitat:Und da kommen wir zum Thema "Programm-Design"! Es gibt ja noch mehr als nur eine simple While-Loop, die ALLES enthält.

Nicht alles, aber den Mess-Teil incl. der Buttons, da während der kontinuierlichen Messung Ventile geöffnet und geschlossen werden müssen.
Mit klassischen Programmiersprachen hätte ich das genauso gemacht.

Zitat:Und auch dafür bietet LabVIEW Beispiel-VIs/-Projekte! (Statemachine, Producer-Consumer, QMH, ActorFramework,…)

Nadel in 10 000 Heuhaufen. Big Grin ... mit hübschen bunten Mustern Lol

Aber ich habe ja ein Beispielprogramm für diese Art der Anlage, allerdings mit anderer Hardware, d.h. ich kann das Programm nicht laufen lassen, ich kann mir nur die bunten Icons ansehen. Ist sehr komplex und ich verstehe noch sehr vieles nicht (hauptsächlich weil ich nicht weiß, was das alles für Icons sind und was sie machen), aber auch hier wurde der Messteil in einer großen alles umfassenden While-Schleife gepackt (außer Initialisierung der Geräte vor der Messung und Einstellung eines kontrollierten Endzustandes nach Ende der Messungen).
Hallo Beam,

Zitat:Nadel in 10 000 Heuhaufen. ... mit hübschen bunten Mustern
Auch in anderen Programmiersprachen gibt es diese Programmierschemata, z.T. eben nur unter anderen Namen. Auch in C, Java, etc. kann man Statemachines (und komplizierteres) erstellen!

Zitat:Aber ich habe ja ein Beispielprogramm für diese Art der Anlage, allerdings mit anderer Hardware, d.h. ich kann das Programm nicht laufen lassen, ich kann mir nur die bunten Icons ansehen.
Wenn du die VI vorliegen hast, kannst du mit der Maus über die BD-Elemente fahren und die Kontexthilfe lesen. Das liefert deutlich mehr Informationen als nur auf "bunte Icons" zu schauen!

Zitat:aber auch hier wurde der Messteil in einer großen alles umfassenden While-Schleife gepackt (außer Initialisierung der Geräte vor der Messung und Einstellung eines kontrollierten Endzustandes nach Ende der Messungen).
D.h. weil dein Vorgänger alles nach Art einer festen Sequenz programmiert hat, muss das gut sein und darf nie mehr anders/besser gelöst werden!?
Referenz-URLs