INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Eingabe über Buttons



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!

07.03.2012, 17:20
Beitrag #1

S_D Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Mar 2012

2011
2011
EN


Deutschland
Eingabe über Buttons
Hallo,

Ich baue im Rahmen eines Projektes ein kleines LabVIEW-Programm und möchte nun die Benutzeroberfläche benutzerfreudlich einrichten.
Hierzu möchte ich verschiedene Szenarien (A, B und C) vorgeben, die der Benutzer anwählen kann.
Danach kann er Zeiträume (1, 2 oder 3) wählen und im Anschluss mit Schiebereglern noch Werte einstellen.
Sind alle Werte eingestellt muss der Benutzer nurnoch auf Start klicken und die Eingabe wird ausgeführt.

Nun zu meinen Fragen:
1. Ist es möglich zum Beispiel die Skalen der Schieberegler an die Auswahl der Szenarien zu koppeln? Damit meine ich, dass bei Szenario A Werte von 1-10, bei Szenario B Werte von 10-100 und bei Szenario C dann Werte von 100-1000 zur Auswahl stehen.
Wie könnte sich das bewerkstelligen lassen, bzw mit welchem Tool kann ich solche Dinge im Blockdiagramm festlegen?

2. Es soll pro Kategorie immer nur eine Auswahl möglich sein, d.h. wenn ich Szenario A anwähle und direkt danach Szenario B soll A wieder "deaktiviert" werden. Das ganze Programm soll dauerhaft im "run"-Modus laufen, ist es da dann überhaupt noch möglich solche Veränderungen auf der Benutzeroberfläche vorzunehmen?

3. Ich hab die Eingabe mit A, B und C schonmal versucht mit einigen Case-structures die in eine Whileschleife eingebettet waren versucht, hierbei ergab sich aber das Problem, dass zwar die Anwahl von A, B und C funktioniert während das Programm läuft, aber nach jedem Schleifendurchgang werden die Knöpfe resettet und die Auswahl verschwindet bzw springt immer auf die Ausgabe von A. Das liegt daran, dass ich in der innersten Case-structure im false case einen Pfad angeben musste (hier der Pfad A). Ich würde aber gerne immer die zuletzt gewählte Auswahl angezeigt haben und lassen bis eine neue Auswahl erfolgt.

Ich weiß nicht ob meine Vorstellungen so überhaupt umsetzbar sind, freue mich aber über alle Vorschläge und Anregungen.

Mit freundlichen Grüßen
Stefan


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.03.2012, 18:34
Beitrag #2

Tschirno Offline
LV Fortgeschrittener
*


Beiträge: 42
Registriert seit: Apr 2008

7.1/8.x/20xx
2004
EN

46145
Deutschland
RE: Eingabe über Buttons
Hallo,

also deine Vorstellungen sind nicht utopisch. Man kann fast alles zur Laufzeit ändern. Das Zauberwort heit PropertyNode oder auch Eigenschaftsknoten. In Verbindung mit einer Eventstructur stehen dir alle Wege offen. Ich habe dir mal ein kleines Beispiel gemacht. Jedes Control oder jeder Indicator hat direkte PropertyNodes. Du kannst aber auch gleiche Typen über die Referenzen zusammenfassen und gleich behandeln. Schau dir das Beispiel an. Dort habe ich ein paar Ideen reingesteckt.

Gruß


Angehängte Datei(en)
11.0 .vi  GUI.vi (Größe: 25,73 KB / Downloads: 346)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.03.2012, 18:55
Beitrag #3

S_D Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Mar 2012

2011
2011
EN


Deutschland
RE: Eingabe über Buttons
Ich danke dir für deine schnelle Antwort. Ich werde mal versuchen zu verstehen was du da gemacht hast Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2012, 11:34
Beitrag #4

S_D Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Mar 2012

2011
2011
EN


Deutschland
RE: Eingabe über Buttons
Ich hab dazu noch zwei weitere Fragen:

1. ist es denn möglich die verschiedenen Abfragen erst dann auszuführen wenn zum Beispiel ein "Berechnen" Button gedrückt wird?
Momentan ist es ja so, dass sofort beim drücken der Buttons A, B oder C das jeweilige Eigenschaft ausgeführt wird.

2. zum Thema PropertyNode... kann man bei Graphen einstellen, dass der Graph für negative y-Werte z.B. rot und für positive Schwarz dargestellt wird?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2012, 11:43
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Eingabe über Buttons
(09.03.2012 11:34 )S_D schrieb:  2. zum Thema PropertyNode... kann man bei Graphen einstellen, dass der Graph für negative y-Werte z.B. rot und für positive Schwarz dargestellt wird?
Nein, geht nicht. Das musst du selber machen, indem du deine Werte in 2 Plots aufteilst.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2012, 15:39
Beitrag #6

S_D Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Mar 2012

2011
2011
EN


Deutschland
RE: Eingabe über Buttons
Wie kann ich denn die Daten anständig aufteilen?
Ich hab da jetzt einige Sachen mit case und event Strukturen versucht, aber ich stoße ständig auf Probleme was die Datentypen betrifft. Ich stehe grad ziemlich aufm Schlauch. Sad

Die beigefügte Schleife macht so ungefähr das was ich will, aber ich wusste nicht wie ich die false Weitergabe jeweils wählen sollte, desshalb wird da jetzt erstmal nur eine 0 weitergegeben, aber das sieht dann im Diagramm natürlich unschön aus.

Kann mir jemand eine elegantere Möglichkeit (vielleicht PropertyNode?! - komme damit noch nicht so gut zurecht) zeigen?


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.03.2012, 17:35 (Dieser Beitrag wurde zuletzt bearbeitet: 09.03.2012 17:36 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Eingabe über Buttons
Hallo S_D,

Quickfix: gib statt der Null ein "NaN" weiter, der Plot kommt damit prima zurecht...

Besserer Anderer Fix:
Statt Autoindizierung hier ein Schieberegister verwenden. Im jeweiligen TRUE-Case baust du dann mittels BuildArray deine Daten zusammen, im FALSE-Case wird das Schieberegister einfach durchgeleitet...

Beide haben ihr Vor- und Nachteile, musst du mal ausprobieren!

P.S.:
Man kommt natürlich mit einer einzigen Case-Struktur aus, da ja in deinem Fall beide Cases genau entgegengesetzt sind (>=0 und <0)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.03.2012, 10:46
Beitrag #8

S_D Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Mar 2012

2011
2011
EN


Deutschland
RE: Eingabe über Buttons
Hey GerdW,
danke für die beiden Tipps. Das mit dem "NaN" funktioniert soweit, mit dem Schieberegister hab ich noch ein kleines Problem, weil sich der Caseselector Über die Typen beschwert weil ohne Indizierung ein 1D-array of boolean reinkommt und er nur ein boolean haben will.

Zu meiner anderen Frage:
Zitat:1. ist es denn möglich die verschiedenen Abfragen erst dann auszuführen wenn zum Beispiel ein "Berechnen" Button gedrückt wird?
Momentan ist es ja so, dass sofort beim drücken der Buttons A, B oder C das jeweilige Eigenschaft ausgeführt wird.

Damit meinte ich soetwas wie eine Warteschlange, also man gibt verschiedene Angaben und erst wenn man auf 'Calculate' klickt werden die Eingaben abgearbeitet.

Grüße,
Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.03.2012, 13:52
Beitrag #9

Tschirno Offline
LV Fortgeschrittener
*


Beiträge: 42
Registriert seit: Apr 2008

7.1/8.x/20xx
2004
EN

46145
Deutschland
RE: Eingabe über Buttons
Hallo,

eine Möglichkeit um "Warteschlangen" zu realiseren ist eine State Machine/Zustandsmaschine. Entweder du kannst im ExampleFinder nach State Machines suchen oder mal mit dem Templates von Labview rumspielen. Unter File->New...->From Template->Frameworks->Design Patterns findest du die Queued Message Handler State Machine. Die könnte eine Lösung sein. Bau einfach in den Default Case deine Eventstruktur rein.
Ich verwende in einigen Projekten die State Machine von JKI.net (http://jki.net/state-machine). Vielleicht ist das am Anfang einmal etwas mehr arbeit sich da reinzuarbeiten, aber danach hat man eine gute Grundlage für viele Projekte.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.03.2012, 11:41
Beitrag #10

S_D Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Mar 2012

2011
2011
EN


Deutschland
RE: Eingabe über Buttons
Danke Tschirno für den Tipp, also so ganz erschließt sich mir das noch nicht mit diesen State Machines, aber ich knie mich mal rein.

Noch eine Frage (sorry, ich will nicht lästig sein):
Ich habe diese Zeitsteuerung nochmal via Event Structures versucht zu realisieren. Ich habe im Forum herausgefunden, dass es die Möglichkeit gibt im Bearbeitungsmenü der Event Structure "Lock front panel until this event case completes" deaktivieren kann und das habe ich dann auch direkt mal gemacht. Jetzt kann ich zumindest mal die Verschiedenen Buttons durchklicken, aber ich habe jetzt das Problem, dass wenn ich ihm einmal ein Szenario (A, B, C) und Jahr vorgegeben habe und dann Resetten will immer das zuerst gewählte Jahr weiterverwendet wird und ich auch keine weiteren Änderungen daran vornehmen kann. Sad

Zudem hab ich in dem Programm wahrscheinlich wieder paar blöde Fehler reingebaut, also Sachen doppelt und dreifach reingebaut wo auch die einfache Ausführung gereicht hätte.
Kann mir vielleicht jemand sagen was ich da falsch gemacht habe?

Grüße,
Stefan


Angehängte Datei(en)
11.0 .vi  zeitsteuerung_test.vi (Größe: 84,78 KB / Downloads: 248)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  eigene Buttons Johannes82 12 16.714 22.09.2009 16:45
Letzter Beitrag: TSC
  buttons ein/ausblenden undertaker 9 8.067 11.05.2009 19:30
Letzter Beitrag: jg

Gehe zu: