LabVIEWForum.de - Ergonomisches Frontpanel

LabVIEWForum.de

Normale Version: Ergonomisches Frontpanel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Leute,

wie macht ihr euere Frontpanels?
Ich versuche meine FPs so zu gestalten und aufzubauen, dass der User nicht denken muss, wie er das Programm bedient. Ich mache alles so einfach, wie es nur geht. Hier meine Tipps:

1) VISA Find Reccourse
Nur die Schnittstellen zur Auswahl geben, die relevant für die Software sind. Man macht es mit VISA Find Ressource. Ich habe bei einigen gesehen, dass die Schnittstellen sogar in LV-Schreibweise zur Auswahl gestellt werden. Was soll der User mit INSTR:ASRL1 oder was ähnliches?

2) Autobauding
Versuchen die Baudrate bei der seriellen Schnittstelle automatisch zu bestimmen. Einfach in einer Forschleife die Schnittstelle mit unterschiedlichen Baudraten initialisieren, etwas abschicken und warten bis was vernünftiges zurückkommt.

3) Einstellungen dauerhaft abspeichern
Vielleicht weiss es schon jeder, trotzdem speichert man die Programmeinstellungen in eine INI- oder XML- oder binäre Datei ab. So muss der User nicht jedes mal das Programm neu einstellen. Die letzten werden von einer Datei geladen.

4) Introfenster
Beim Programmstart ein Fenster mit dem Logo, Programmnamen, Version, Datum, Adresse u.s.w. anzeigen und dann automatisch ausblenden. Sieht einfach cool aus und gibt dem Programmierer Zeit sein Prog zu initialisieren.

5) Tabs ausblenden
Sehr viele benutzen Tab-Control (Registerkarten), weil alles in ein Bildschirm nicht passt. Manchmal ist es aber wichtig dem User nicht alle Tabs anzuzeigen. Deshalb Tabs komplett ausblenden und stattdessen Buttons verwenden.

6) Getrennte Fenster zum Anzeigen der Daten
Manchmal sind es sehr viele Daten mit unterschiedlichen Darstellungen (numerische, grafische), die nicht auf ein Bildschirm passen und ein Tabkontrol zeigt leider nur eine Seite an. Dazu einfach die Daten logisch aufteilen und in unterschiedlichen Fenster anzeigen. Der User darf auswählen, was er sehen will, die Fenster verschieben ...

7) Daten als Tabellendateien mit Erweiterung .XLS abspeichern,
dann wird die Datei beim Doppelklick automatisch von Excel geöffnet und angezeigt.

So erstmal reicht es. Ihr seid dran.

Ach ja, sobald wir genug Tipps zusammen haben, fassen wir diese zusammen und stellen in die Rubrik Tipps und Tricks.

Eugen
Hallo, Eugen,

Zitat:Ich versuche meine FPs so zu gestalten und aufzubauen, dass der User nicht denken muss, wie er das Programm bedient. Ich mache alles so einfach, wie es nur geht.

Also da kann ich nur 100% zustimmen. Und beim Rest eigentlich auch.

Ein paar zusätzliche Tips aus meiner Erfahrung:

1. Frontpanels in einer festen Größe erstellen. Zumindest, solange diese automatischen Skalierungsfunktionalitäten in LV nur unzureichend funktionieren. Bedingt zwar dann Mindest-Monitorgrößen, aber das ist ja eigentlich kein Problem.

2. Alle Fonts aller Frontpanel-Elemente fest zuweisen (entweder über die Ini-Datei oder mühselig für jedes Element selber). Bei Windows kann sonst folgendes passieren: Benutzer stellt Standard-Fonts für Desktop um, z.B. sehr groß, und das mühselig erstellte Frontpanel ist auf einmal komplett unübersichtlich, da sich Elemente überlappen o.ä.

3. Elemente, die gerade zwecks Programmablauf nicht bedient werden sollen oder können, verstecken bzw. nicht bedienbar machen. (Bsp: Wenn gerade keine Messung läuft, brauche ich auch nicht den Messabbruch-Button).

Wenn mir noch mehr einfällt, gibt es einen Nachschlag.

MfG, Jens
Meine Meinung dazu:

1 und 2 ist Ok, mit 3 bin ich nicht(bzw. teilweise) einverstanden. Ich würde dann lieber die Messung in einem neuen Fenster machen, aber die Buttons würde ich nicht verstecken. Es riecht nach Trickserei, aber halt nur meine Meinung, jedermanns Geschmackssache. Wenn man im Programm trickst, muss der User davon nichts mitkriegen.

Noch was Schönes meinerseits:

Programmstatusanzeige
Wenn man z.B. eine Statemashine verwendet, aber auch wenn nicht, kann man eine Programmstatuszeile im Main platzieren und jeden State, jede Warnung oder Fehler anzeigen. Sieht nicht nur gut aus, sondern hilft das Programm leichter zu debuggen. Man kann auch zusätzlich jede Statusänderung in eine Datei loggen.

Eugen
Hallo, Eugen,

dein Punkt "5) Tabs ausblenden" unterscheidet sich doch nicht sonderlich von meinem Punkt 3. Gebe aber zu, mich nicht ganz klar ausgedrückt habe: Ausblenden von Elementen ist wirklich nicht so gut, aber ein Bedienelement ein per "Property Node" zu deaktivieren (bzw. ausgegraut darzustellen) vereinfacht aus meiner Sicht macnhmal die Programmierung. Ich stehe da auf dem Standpunkt, was der Anwender nicht machen kann, kann er auch nicht falsch machen. Mag bei mir auch historische Gründe haben, da ich LabVIEW in Version 5 ohne Event-Struktur gelernt habe, da war das Abfangen von Benutzer-Ereignissen noch etwas schwieriger.

Jetzt fällt mir noch was ein: Anzeige von Fortschrittsbalken bei Prozessen, die lange dauern. Ist ebenfalls eine gute Rückmeldung.

MfG, Jens
' schrieb:dein Punkt "5) Tabs ausblenden" unterscheidet sich doch nicht sonderlich von meinem Punkt 3.
Ja, aber da bekommt der User nicht mit, dass ich die Tabs umschalte. Er sieht nur Buttons und eine Seite des Tabs, beim Seitenwechsel sieht es so aus, als ob ich beim Programmieren SubPanel mit unterschiedlichen SubVIs benutze. Also ein Touchpanel Effekt. Hier ein Link zum Verdeutlichen was ich damit meine:
http://www.LabVIEWforum.de/index.php...ost&p=10554

' schrieb:Jetzt fällt mir noch was ein: Anzeige von Fortschrittsbalken bei Prozessen, die lange dauern. Ist ebenfalls eine gute Rückmeldung.
Dazu folgene VIs. Vielleicht kann es noch jemand optimieren. Ich habe es erst in meinem letzten Projekt implementiert. Es hat für mich immer gut ausgesehen, war aber zu viel Kopfschmerzen für mich.

Eugen
Gibt es denn keine weiteren Vorschläge?

Eugen
' schrieb:4) Introfenster
Beim Programmstart ein Fenster mit dem Logo, Programmnamen, Version, Datum, Adresse u.s.w. anzeigen und dann automatisch ausblenden. Sieht einfach cool aus und gibt dem Programmierer Zeit sein Prog zu initialisieren.

Hi eg,

das nennt man "offiziell" Splash Screen...das hab ich auch schon gemacht und sah echt "cheffig" aus...leider finde ichs momentan nicht, kann sein dass das im Herbst bei meinem Rechnercrash verloren gegangen ist...

Mein Tip:

Nur wenig Farben auf dem FP, und schon gar keine "grellen" Farben! Weniger ist mehr! Immer die gleiche Schriftart, möglichst immer die gleiche Größe...außer bei "Überschriften"

Das mit den angezeigen States bei ner State Machine mach ich nur, wenns für den Benutzer von Interesse ist, z.B. bei nem Messablauf (Initialisierung...Messung 1...Warten auf SPS...Verbuchen...)

Gruss
A.
Super Achim!

Mein Splash Screen (jetzt weiss ich wie es heisst) sieht so aus:
[attachment=6022][attachment=6023]

Eugen

P.S. und klar ist es als Top Level definiert.
' schrieb:Mein Splash Screen (jetzt weiss ich wie es heisst) sieht so aus:
(..)
P.S. und klar ist es als Top Level definiert.

Hallo Eugen,

klingt spannend, leider bekomme ich das nicht zum Laufen...
Ich nehme an das oben gezeigte VI wird vom Haupt-VI zu beginn geöffnet. Wie erstelle ich denn dann die richtige VI referenz (also das, was bei dir mit Pfeil und durchgestrichenem Text erscheint)? Bei mir bleibt das Splash Screen VI leider die ganze Zeit offen und wird nicht geschlossen. Ausserdem wird die Transparenz nicht kontinuierlich durchgefahren...

Völlig verwirrrt?!Wink
Oli
' schrieb:Hallo Eugen,

klingt spannend, leider bekomme ich das nicht zum Laufen...
Ich nehme an das oben gezeigte VI wird vom Haupt-VI zu beginn geöffnet. Wie erstelle ich denn dann die richtige VI referenz (also das, was bei dir mit Pfeil und durchgestrichenem Text erscheint)? Bei mir bleibt das Splash Screen VI leider die ganze Zeit offen und wird nicht geschlossen. Ausserdem wird die Transparenz nicht kontinuierlich durchgefahren...

Völlig verwirrrt?!Wink
Oli


Hm, bei mir klappt es. Poste dein VI, mal schaun.

Eugen
Seiten: 1 2
Referenz-URLs