LabVIEWForum.de - Hoch und Runterzählen bei einer Casestruktur

LabVIEWForum.de

Normale Version: Hoch und Runterzählen bei einer Casestruktur
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
HI,
ich bin ein Anfänger und bräuchte mal eine Lösung für das Problem:

Mein VI soll mal so aussehen, dass in sekunden Abstand jeweils 1 von 4 LEDs leuchten, von oben nach unten,
aber wenn ich einen Knopf drücke sollen sie von unten nach oben leuchten.

Ich glaube ich brauche min. 2 Case strukturen, von oben nach unten schaffe ich, aber ich weiss nicht wie ich es schaffe, dass sie auf knopfdruck von unten nach oben laufen.Wahrscheinlich ist es simple, schaffe es trotzdem net.
Kann einer helfen? (Ich habe die 2010 Version)
Wenn ich deine Aufgabenstellung richtig verstanden habe dann sollte die Aufgabe mit einer Sequenzstruktur einfacher zu lösen sein.
Also ich würde für diese Aufgabe wohl eine Whileschleife, mit einer Case-Struktur verwenden. Dann in dem einen Case Bit-Shift nach links (oben) und bei dem anderen Case nach Rechts (unten), sofern es eine Art Lauflicht sein soll. Shiftbefehle findet man auf der Palette Numerisch-> Datenbearbeitung

MfG Carsten
(22.01.2012 21:52 )Darroc schrieb: [ -> ]HI,
ich bin ein Anfänger und bräuchte mal eine Lösung für das Problem:

Mein VI soll mal so aussehen, dass in sekunden Abstand jeweils 1 von 4 LEDs leuchten, von oben nach unten,
aber wenn ich einen Knopf drücke sollen sie von unten nach oben leuchten.

Ich glaube ich brauche min. 2 Case strukturen, von oben nach unten schaffe ich, aber ich weiss nicht wie ich es schaffe, dass sie auf knopfdruck von unten nach oben laufen.Wahrscheinlich ist es simple, schaffe es trotzdem net.
Kann einer helfen? (Ich habe die 2010 Version)

Hallo Darroc

Ich gehe jetzt mal davon aus, dass du mit den LEDs die boolschen Indicators meinst.
Am einfachsten funktioniert das ganze, meiner Meinung nach, wenn du alle LEDs in einem Array hast.
Dadurch hast du Zugriff auf die ganzen Array-Manipulations Funktionen. Darunter auch das VI "Rotate 1D-Array" welches genau für einen solchen Fall gedacht ist. Als kleines Zückerchen kannst du durch anpassen der Konstanten die "Sprunglänge" beliebig verändernWink

Um die Richtung zu bestimmen würde ich einen Enum verwenden, dadurch benötigst du nur eine Case-Struktur und die Case-Struktur wird quasi selbsterklärend (vorrausgesetzt die Namen des Enums wurden sinnvoll gewähltTongue)

[attachment=38273]

Hoffe das hilft dir weiter!

Gruss Marc
Wie Marc es vorgeschlagen hat ist es sehr gut selbsterklärend. Wenn aber die Forderung lauten würde, wie ist es am einfachsten, dann könnte man als Bedienelement einen Ring statt eines Enums nehmen. Bei dem kann man den beiden Ringitems direkt die benötigten Werte 1 und -1 (I32) zuordnen und das Bedienelement ohne Casestruktur direkt an "1D-Array-rotieren" anschließen.

[attachment=38279]
Vielen Dank für die vielen Ideen,
hab es nun endlich geschafft. Mit 2 Casestrukturen in einer While Schleife
Danke!

Gruß Darroc
Referenz-URLs