Hi,
ich habe in meinem Frontpanel mehrere LED die über die selbe Case-Struktur gesteuert werden. In jedem Case steckt eine LED. Je nach angelegtem booleschen Wert leuchtet eine LED auf, jedoch kann z.Z. immer nur eine LED leuchten.
Ich möchte erreichen, dass LED 1, sobald sie einmal in einem Case auf 'True' gesetzt ist, dauerhaft leuchtet,auch wenn später ein anderes Case angesteuert wird und nun dadurch an LED 1 ein 'False' anliegt.
Ist dies möglich?
Viele Grüße
Ollumque
P.S.
Kann man Schieberegister irgendwie kommentieren oder benennen, damit es leichter fällt diese auseinander zu halten?
Lad doch mal dein .vi hoch oder poste deinen Code.
Kannst den Zustand abfragen und anschliessend nur bei false setzen. Vielleich geht dies
Scheiberegisterkommentar: Mit lv10geht dies. Mit einer tieferen musst du "cheaten", indem du das Schreibfeld transparent machst.
lg Martin
![Glas2 Glas2](images/smilies/lvfsmilies/fun/glas2.gif)
Wenn man wüsste, was du programmiert hast?
Ich würde ja einfach das Terminal von LED 1 in den Case 1 legen, dann wird es auch nur da gesetzt.
Zwecks Beschriftung: Da geht nur freie Textlabels. Oder du steigst auflv10um, da kannst du inzwischen die Drähte beschriften.
Gruß, Jens
EDIT... Mist, zu spät
![Wink Wink](images/smilies/wink.gif)
Moin,
das ganze ist ein SubVI und wird vom MainVI wiederholt aufgerufen, jedess Mal sind im Array 'Prozentwerte' andere Zahlen gespeichert.
Das SubVI dient zur Auswertung dieser Werte und kontrolliert wie viele unter der 60 % Marke liegen. Ein Wert darf darunter liegen. Je nach dem Welcher Druck angefahren wird, leuchtet das entsprechende Lämpchen.
Jetzt, da ich es niederschreibe, fällt mir auf, dass es völlig normal ist, dass die LED nicht mehr leuchtet, da das SubVI jedes Mal neu gestartet wird...mhm...^^
![Lv10 Lv10](images/smilies/lvfsmilies/lv_icons/lv10.png)
Als SubVI, dann so:
![Lv10 Lv10](images/smilies/lvfsmilies/lv_icons/lv10.png)
[
attachment=32106]
Ausgänge, die im SubVI in einem Durchlauf nicht gesetzt werden, werden auf den Default-Wert (in diesem Fall FALSE) gesetzt.
Gruß, Jens
So trennt sich also die Spreu vom Weizen
![Smile Smile](images/smilies/smile.gif)
.
Vielen Dank, auch da jetzt die beiden for-Schleifen verschwunden sind
![Smile Smile](images/smilies/smile.gif)
.
Gibt es, so wie du es gemacht hast, auch noch eine Möglichkeit sich die Zeilen&Spalten der Zelle zu merken, die nicht innerhalb der Toleranz liegt?
Ich wandele im MainVI das Numerische Array in eine Tabelle um und möchte die falschen Werte farblich hinterlegen. Wie das funktioniert habe ich schon herausgefunden, nur fehlen mir dann noch die Adressen der Zellen.
Schönen Gruß´
ollumque
' schrieb:Gibt es, so wie du es gemacht hast, auch noch eine Möglichkeit sich die Zeilen&Spalten der Zelle zu merken, die nicht innerhalb der Toleranz liegt?
Du musst das 2D-Boolean-Array, welches durch den Vergleich erzeugt wird, nach allen True-Werten durchsuchen.
Leider gibt es dafür meines Wissens nach keine fertige Funktion. In der OpenG-Library gibt es sowas nur für ein 1D-Array.
Also selber programmieren...
Gruß, Jens