LabVIEWForum.de - Frontpanel: Bereiche ausgrauen und mit boolschen Werten aktivieren

LabVIEWForum.de

Normale Version: Frontpanel: Bereiche ausgrauen und mit boolschen Werten aktivieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

es geht um ein Programm zum Laden von Batterien, ich möchte gerne dass man, bevor das eigentliche Programm startet, einige Abgaben auf einer seperaten Seite tätigen muss, die während des Ladevorgangs nicht mehr geändert werden können.


1. Ich hätte gerne, dass die Felder "Durchführender", "Batteriebezeichnung" und "Datenerfassung" beim Aufruf des Programms ausgegraut sind.

2. Wenn ich den Haken bei "Ladevorgang protokollieren" setze, sollen diese aktiviert werden.

3. Wenn der Haken gesetzt, die Felder vom Anwender aber nicht ausgefüllt werden muss sich ein Hinweis öffnen der den Anwender bittet die Felder auszufüllen.

4. Bevor "Seite 1" nicht korrekt ausgefüllt ist darf der Anwender nicht auf Seite 2 zugreifen dürfen.

Ok das wären meine Fragen .... vielen Dank für Eure Hilfe.
Hallo Titus,

du kannst mit der rechten Maus auf jedes Bedienelement einen Eigenschaftsknoten erstellen und die Eigenschaft aktiviert wählen. Hier kannst du dann nach Belieben ausgrauen oder aktivieren, entsprechend der von dir beschriebenen Abhängigkeiten.

Gruß, Marko
Ok ja Danke .... hab mich jetzt so ein bisschen durchgewurschtelt ......

Das Ausgrauen bei nicht gesetztem Haken funktioniert, bei Stoppkriterium hakt es jedoch sehr….

Auswahl ist ein Enum ich hätte gerne dass bei „Kein Stoppkriterium“ beide ausgeraut sind bei einer der anderen beiden Möglichkeiten das jeweils irrelevante Kästchen. Ich kann dem Enum aber nichts entlocken womit ich das programmieren kann…..
Hallo Titus,

du hast da mehrere Bedingungen formuliert. Das einzige, was du tun musst, ist diese auch in LabVIEW-Code umzusetzen…

Zitat:Ich kann dem Enum aber nichts entlocken womit ich das programmieren kann…
Wie üblich könnte ein Vergleich mit einer Konstanten weiterhelfen. Oder eine Case-Struktur mit einem Case je Enum-Eintrag. Oder…
Gut das hat funktioniert.... danke....

Dann habe ich direkt das nächste Problem mit der Registerkarte....... momentan habe ich zwei Seiten.... auf seite Nr.1 kann ich die Anfangsbedingungen festlegen, ich kann aber nicht das Programm auf Seite Nr. 2 zum laufen bringen... dafür muss ich das Programm beenden, Seite Nr.2 aufrufen und erneut starten .... ich hätte gerne einen Bestätigungsknopf auf Seite Nr.1 der bei Betätigung Seite Nr. 2 startet...
Hallo Titus,

Zitat:ich kann aber nicht das Programm auf Seite Nr. 2 zum laufen bringen...
Hier scheint ein grobes Missverständnis vorzuliegen!
Eine Registerkarte dient einzig und allein der Gruppierung von FP-Elementen. Eine Registerkarte hat (erst einmal) keinen Einfluss auf den Programmablauf!

Aber: Du kannst natürlich abfragen, welcher Tab gerade aktiv ist und mit einer Case-Struktur entsprechend darauf reagieren!

Zitat:dafür muss ich das Programm beenden, Seite Nr.2 aufrufen und erneut starten ....
Das spricht für ein grobes Missverständnis beim DATAFLOW! THINK DATAFLOW!
Wenn du in einer Schleife die Registerkarte abfragst, kannst du jederzeit darauf reagieren…

Warum zeigst du nicht einfach mal dein VI (LV2011 bevorzugt)?
Leider nur 2012........

ja ich check den Datenfluss bei der Registerkarte auch nicht ....... es startet scheinbar immer das was auf der Registerkarte zu sehen ist ....
Hallo Titus,

LabVIEW-> Datei-Menü->Speichern für vorige Version… (Homer sagt Doh!)

Wobei ich mich schon frage, warum man ein ZIP > 1MB benötigt, um ein Problem mit einer Registerkarte zu demonstrieren:
[attachment=50292]
(17.07.2014 08:20 )GerdW schrieb: [ -> ]Hallo Titus,

LabVIEW-> Datei-Menü->Speichern für vorige Version… (Homer sagt Doh!)

Wobei ich mich schon frage, warum man ein ZIP > 1MB benötigt, um ein Problem mit einer Registerkarte zu demonstrieren:

Du wolltest das Programm und Du hast es bekommen......... hier stehen 19 Jahre Labview Erfahrung gegen 19 Wochen ..... das ist schon ein kleiner Unterschied meinst Du nicht auch?

Aber gut das Problem wurde mit einer Sequenzstruktur gelöst und funktioniert nun vorerst wie ich es will...... aber die nächsten Fragen lassen nicht lange auf sich warten.....

Ich würde gerne Folgendes tun, beim Programmstart soll ein Benutzer ausgewählt werden der via String ins Protokoll geschrieben wird, bis dato ist das über eine einfaches Bedienelement (String) geregelt. Nun würde ich gerne eine Datei erstellen welche auf der Festplatte liegt und in die ich verschiedene Benutzer reinschreibe. Labview soll diese Liste auslesen und ein Enum damit ausfüllen.

Der Anwender soll sich dann aus dem Enum seinen Namen raussuchen können der dann wiederum ins Protokoll geschrieben wird......

Das bräuchte ich mal einen Tipp wie ich für den Anfang mit einem String ein Enum initialisieren kann
Hallo Titus,

Zitat:wie ich für den Anfang mit einem String ein Enum initialisieren kann
Gar nicht!
Da ein Enum als Datentyp während des Editierens definiert wird, kannst du das nicht zur Laufzeit nachträglich erledigen!

Aber dafür gibt es ja Lösungen:
- Nimm einen Ring statt eines Enums. Der bietet diese Möglichkeit über seine Strings[]-Property.
- Nimm eine Listbox statt des Enums. Sieht wesentlich hübscher aus…

Zitat:Du wolltest das Programm und Du hast es bekommen
Ich hatte mir LV2011 gewünscht und nicht bekommen. Deshalb der Hinweis auf das Datei-Menü von LabVIEW…

Zitat:hier stehen 19 Jahre Labview Erfahrung gegen 19 Wochen ..... das ist schon ein kleiner Unterschied meinst Du nicht auch?
Das respektiere ich. Aber gerade in einem solchen Fall erwarte ich, dass man sich Kenntnisse nicht durch Erstellen eines riesigen Monolithen aneignet, sondern neue Dinge vorher in einem kleinen Test-VI ausprobiert. Wenn es dann dort funktioniert, kann man es meist problemlos(er) ins Hauptprogramm übertragen…
Seiten: 1 2
Referenz-URLs