Programmablauf mit Knöpfen Steuern
Hallo,
bevor ihr euch die Köpfe einrennt ;-)
Ich bin es gewohnt Anwendungen in C++ meistens für Linuxartige Betriebssysteme zu schreiben. Bei der Arbeit mit LabVIEW ist mir aufgefallen, dass es (zumindest für mich) extrem einfach ist. Signale von Messgeräten usw. aufzunehmen, auszuwerten usw. Meine Hauptprobleme liegen in der simplen Programmablaufsteuerung. In C würde ich einfach jede Funktion die ich öfters benötige in eine eigene Headerdatei auslagern und bei Bedarf einbinden, wobei genau festgelegt ist welche Übergabe und Ausgabeparameter in welcher Form anzugeben/auszugeben sind. Im Zweifelsfall kann ich sogar die Datentypen variabel halten, so dass es letztendlich egal ist, ob ich als Eingang für den Dateipfad ein String oder einen Pfad schicke. In LabVIEW muss ich konvertieren. Ich denke die Kabelmethode ist einfach genauso wie Schieberegister ein Relikt aus der Elektro-/Schaltungstechnik. Da muss man sich erst mal dran gewöhnen.
Was ich machen wollte ist: Ein Fenster mit Knöpfen, die dann jeweils einzelne Programmteile aufrufen. Also zum Beispiel sowas wie:
Knopf 1: Benutzerdaten eingeben
Knopf 2: Prozess starten
Knopf 3: Protokoll erstellen
Knopf 4: Einstellungen (Regelparameter etc.)
Knopf 5: Programm beenden
Das allein ist mit einem Caseselektor natürlich machbar, aber in meinen Augen viel aufwändiger, als unter C. Ein weiterer Punkt ist die Fehlerbehandlung. C++'ler kennen hier Throw und Catch. Unter LabVIEW habe ich nur Fehlerein- und Ausgänge. Eine Fehlerbehandlung ist eher schwer möglich.
Weiter möchte ich später ein Protokoll erstellen. Zu jedem Versuch - bezogen jetzt auf die Durchführung von Experimenten - wird ein eigenes Verzeichnis angelegt, in dem dann die zugehörigen Daten abgelegt werden. Hier soll der Benutzer - letztendlich ich - eine Liste von Punkten abarbeiten, derren Durchführung dann "abgehakt" und mit Zeitstempel versehen wird. Im "Menüpunkt" Protokoll erstellen könnte ich dann über die Radiobutton Geschichte gezielt auswählen, welche Daten ins Protokoll sollen. Bei einer Standardproduktion würden zum Beispiel eine Kurzübersicht ausreichen, während bei einem "Experiment" viel mehr Parameter erfasst und ausgewertet werden müssen.
Daher waren beide (in Wirklichkeit waren es ja mehr, aber im Grundsatz waren es zwei) Methoden für mich sehr interessant und lehrreich.
Natürlich wäre es für mich als alten "Linuxer" am schönsten, wenn ich die Anwendung Platformübergreifend schreiben könnte, aber ich sehe ein, dass mir dafür zur Zeit noch das KnowHow fehlt. Ich müsste bei jedem Aufruf, der Dateipfade betrifft erst überprüfen, welches Zielsystem ich habe, bzw. schon beim Start den Wert irgendwie speichern (hierfür würde sich entweder eine Datei oder eben eine globale Variable eignen.).
Ich habe mich jetzt entschlossen den schlechteren Weg zu gehen und erstmal die Anwendung für Windows zu entwickeln und dann später die Funktionen Nachzurüsten. Das ist deutlich mehr Arbeit, aber im Moment ist es nicht anders machbar.
Deswegen Vielen Dank für die großartige Hilfe hier im Forum!
Liebe Grüße Thomas
|