Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
28.10.2010, 11:28 (Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2010 11:34 von Schü.)
ich hab ein kleines Problem und seh wohl den Wald für lauter Bäumen nicht mehr. Ich habe für mein Programm eine Steuerung über 12 Funktionstaste (mit den F-Tasten verbunden) erstellt. Drückt man einen Knopf so werden verschiedene Informationsfenster angezeigt.
Mein Problem ist jedoch, dass ich einen Knopf drücke, dann aber ein anderen Knopf drücken will, diesen jedoch nur mit bestem Timing auf TRUE setzen kann.
Stelle ich das Schaltverhalten auf Latch, dann funktioniert es wie gewünscht, nur möchte ich dass die Buttons so lange gedrückt sind, bis ein anderer ausgewählt und ein anderes Anzeigefenster aktiviert wird.
Ich dachte mir, dass ich die Buttons einfach per Lokale Variable auf FALSE setzen kann (alle bis auf den ausgewählten), aber das scheint nicht zu gehen. Dann kam mir die Idee, das ganze mit einer Ereignisstruktur zu lösen, aber da hab ich kein Licht am ende des Tunnels gesehen und jetzt dreh ich mich im Kreis.
Anbei habe ich mal die fehlerhafte Button-leiste gemacht. Der Aufbau des Blockschaltbildes ist genauso wie in meinem eigentlichen Programm.
Ich hoffe auf nicht allzu harte, verbale Ohrfeigen
Nein im Ernst, danke schonmal für die Hilfe.
Liebe Grüße Schü
EDIT: Mir fallen gerade die LED's auf den Buttons ein, gibt es da eine Möglichkeit die gleich fest mit den Buttons zu verbinden? Also keine Gruppe erstellen, sondern über "Rechtsklick >> Fortgeschritten >> Anpassen..." zu ändern? Bei mir kam da nur immer ein durchgestrichenes OK, wenn ich in dem Bearbeitungsfenster dann eine LED auf den Button gezogen habe.
Löse doch das ganze über eine Eventstruktur. Bei der Eventstruktur kann man auch ein Tastendruck oder die Änderung eines Bedienelements herannehmen. Wenn man zum Beispiel eine vorher definierte Taste drückt, dann springt diese Struktur in einen und arbeitet nicht alle Fälle ab.
Dein Fehler ist die Flache Sequenzstruktur. Wenn du irgendeine Taste aktivert hast, dann werden die anderen automatisch auf False gesetzt, somit kann es zu keiner Aktivierung einer zweiten Taste kommen, da diese durch die erste wieder zurück gesetzt wird.
28.10.2010, 11:58 (Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2010 12:00 von Schü.)
Ja das mit dem Rücksetzen des Tastendruckes habe ich dank Highlight-Funktion auch herausgefunden. Nur ist mein Problem, dass ich mit der Eventstruktur nicht so richtig umzugehen weiß. Also ich weiß nicht wie das angehen soll.
Ich hatte das vorhin schon mal versucht mit Eventstruktur, nur blieb mein Programm stehen und arbeitete nur bei Wertänderung weiter, da war mir klar "Hier ist was falsch", nur wusst ich nicht was.
Schau dir doch mal die Optionsfelder (engl. Radiobuttons) an. Du kannst auch einfach per Rechtsklick die kleinen Kreise durch beliebige boolsche Elemente ersetzen.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Ah jetz hab ichs hinbekommen. Mein Fehler war, dass ich bei der Eventstruktur den Timeouteingang frei gelassen habe und damit dieser auf -1 Stand. Mit dem Wert 0 klappt es jetzt.
das mit den Optionsfeldern versteh ich nicht so ganz, da wählt man doch eigentlich immer nur dann halt das jeweilige Boolsche Element aus. Die LED auf meinen Buttons ist eher so als Lichtanzeige noch gedacht, dass der knopf gewählt ist.
Oder hab ich dich jetzt falsch verstanden?
' schrieb:Oder hab ich dich jetzt falsch verstanden?
Hmm vielleicht hab ich dich auch falsch verstanden...
' schrieb:Stelle ich das Schaltverhalten auf Latch, dann funktioniert es wie gewünscht, nur möchte ich dass die Buttons so lange gedrückt sind, bis ein anderer ausgewählt und ein anderes Anzeigefenster aktiviert wird.
Deswegen hab ich Optionsfelder vorgeschlagen. Es ist immer in Knopf ausgewählt, bis du einen anderen drückst. Es kann auch immer nur einer ausgewählt sein.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Ah okay. Da ichs ja jetzt hinbekommen habe, muss ich nicht mehr auf das Schaltverhalten zurückgreifen.
Aber man kann ja Buttons einfach editieren, z.B. ein Bild hinzufügen, ober das oben genannte Menü, dachte es wäre auch so einfach eine LED anzubinden, die auch gleich noch den Zustand des Buttons übernimmt. Also wie die ovalen Schaltknöpfe, nur eben im eckigen Klassik-Design
Liebe Grüße Schü
28.10.2010, 14:37 (Dieser Beitrag wurde zuletzt bearbeitet: 29.10.2010 09:42 von Lucki.)
Hier Dein VI auf Optionsfeld umgestellt, und vergiss ganz schnell alles andere. Den Knopf F12 "auf Standardwerte rücksetzen" brauchst Du nicht mehr. Es gibt beim Radio Button die Option "Deaktivierung aller Elemente zulassen", auf deutsch: wenn man den gedrückten Knopf noch mal drückt, sind alle Knöpfe raus.
Tip: In der klassischen Ansicht kannst Du auf dem FP die Umrahmung usw. des Optionsfeldes unsichtbar machen - so wie hier geschehen.
Edit: Es ist da noch ein kleines Problem: Wenn man auf die LEDs klickt, funktionieen die Tasten nicht: Lösung: Tasten transparent und in den Vordergrund.
könntest du das VI nochmal hochladen, da ich hier auf Arbeit nur LabView 8.6 habe und mir der Fehler angezeigt wird, dass die VI-Version aktueller ist als die LabView-Version.