LabVIEWForum.de
Enum Kommando mit string ausgabe - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Enum Kommando mit string ausgabe (/Thread-Enum-Kommando-mit-string-ausgabe)



Enum Kommando mit string ausgabe - Cardinal1664 - 24.02.2016 11:03

Hallo zusammen

Ich habe eine Frage betreffend enum:

Ich habe ein Gerät welchem ich via RS232 Diverese Befehle schicken kann.

Bsp:
Get Firmware Information: V

Zum erhalten der Firmware Version muss ich ein "v" senden.

Nun möchte ich den Kommando Namen und den Komando Befehl in einer Typendefinition speichern damit ich diese in diveresen Softwaren verwenden kann und wenn ein neuer Befehl hinzukommt muss ich nur die Typendefinition anpassen.

Mit einer String Combo Box oder Text Ring ist dies leider nicht möglich da die Werte in der Typendefinition nicht gespeichert werden.

Ich habe nun ein kleines VI erstellt welches anhand des Enum Kommando den entsprechenden Befehl ausgibt. (siehe Anhang).
[attachment=55353]

Habt ihr eventuell noch eine bessere idee wie man dies lösen könnte?

Besten dank im voraus


RE: Enum Kommando mit string ausgabe - Freddy - 24.02.2016 12:01

Hallo Cardinal1664
verwende ein Kombinationsfeld.
mach den Haken im

Eigenschaften -Objekte bearbeiten - Wert entsprechen den Elementen

weg, dann kannst Du die Bezeichnung und die Ausgabe trennen.

Gruß
Freddy


RE: Enum Kommando mit string ausgabe - Cardinal1664 - 24.02.2016 12:38

Danke für deine Antwort

Das habe ich auch schon ausporbiert, wenn ich aber eine Typendefinition aus der Combo box erstelle und dann ein neuer Wert einfüge werden die bereits platzierten Typedef Comboboxen nicht aktualisiert!


RE: Enum Kommando mit string ausgabe - GerdW - 24.02.2016 12:49

Hallo Cardinale,

Zitat:wenn ich aber eine Typendefinition aus der Combo box erstelle und dann ein neuer Wert einfüge werden die bereits platzierten Typedef Comboboxen nicht aktualisiert!
Weil diese Werte eben nur "Werte" der Combobox sind und damit nicht Bestandteil der Typdefinition…

Ich mache es wie du oben: typdefiniertes Enum und ein VI, um das Enum in Text umzuwandeln. Ich habe aber keinen Standardcase definiert, dadurch wird man automatisch gezwungen, auch das subVI an das Enum anzupassen!


RE: Enum Kommando mit string ausgabe - Cardinal1664 - 24.02.2016 12:55

Aber dies ist doch irgendwie ein gebastel! Gibts da keine einfachere Lösung?



(24.02.2016 12:49 )GerdW schrieb:  Hallo Cardinale,

Zitat:wenn ich aber eine Typendefinition aus der Combo box erstelle und dann ein neuer Wert einfüge werden die bereits platzierten Typedef Comboboxen nicht aktualisiert!
Weil diese Werte eben nur "Werte" der Combobox sind und damit nicht Bestandteil der Typdefinition…

Ich mache es wie du oben: typdefiniertes Enum und ein VI, um das Enum in Text umzuwandeln. Ich habe aber keinen Standardcase definiert, dadurch wird man automatisch gezwungen, auch das subVI an das Enum anzupassen!



RE: Enum Kommando mit string ausgabe - GerdW - 24.02.2016 13:23

Hallo Cardinal,

Zitat:Aber dies ist doch irgendwie ein gebastel!
Wieso?
Ich verwende ein TypeDef-Enum und ein dazugehöriges VI. Sobald ich das Enum ändere, markiert mir LabVIEW das zugehörige VI als "broken", sodass ich nie vergesse, auch dort den passenden Case nachzutragen!

Zitat:Gibts da keine einfachere Lösung?
Noch einfacher?
Du könntest dir eine CSV-Datei mit Zeilen aus "Text;Befehl" erstellen. Diese Datei zum Start deines Programms laden und in eine LookupTable (oder FGV) laden. Damit dann jeweils das UI und die Befehls-Consumer versorgen.
Das ist flexibel, aber eben auch mit mehr Aufwand verbunden…


RE: Enum Kommando mit string ausgabe - Lucki - 24.02.2016 14:30

Man könnte auch ein nicht funktionsfähiges VI, mit nichts Anderem als dem Enum- oder Ringelement als Inhalt, abspeichern. Wenn man das Element dann irgendwo braucht, mit Copy uund Paste herausziehen. Natürlich müssen die Standardwerte gespeichert sein.
Ich selbst würde das allerdings nicht so machen. Ich würde mich einfach erinnern, in welchem VI ich es zuletzt benutzt habe und dort herausziehen. Was sollte daran auzusetzen sein? Ist die angestrebte hochprofesionelle Löung nicht einfach viel Lärm um nichts? Oder betreibst Du Software-Entwicklung mit ein paar Dutzend Mitarbeitern, die alle das Element verwenden wollen? Dann könnte ich Dein Anliegen verstehen.


RE: Enum Kommando mit string ausgabe - jg - 24.02.2016 14:47

Offtopic2
(24.02.2016 14:30 )Lucki schrieb:  Man könnte auch ein nicht funktionsfähiges VI, mit nichts Anderem als dem Enum- oder Ringelement als Inhalt, abspeichern. Wenn man das Element dann irgendwo braucht, mit Copy uund Paste herausziehen. Natürlich müssen die Standardwerte gespeichert sein.
Das Problem an diesem Vorschlag ist das fehlende Update bestehender Elemente bei Erweiterung des Rings/Enums.

Nein, dann doch lieber Enum mit Typdefinition.

Gruß, Jens


RE: Enum Kommando mit string ausgabe - Freddy - 24.02.2016 14:58

Wenn das in vielen Anwendungen verwendet werden soll und update fähig.
Dann sollte man über Klassen nachdenken. In der Klasse werden automatisch alle Anwendungen aktualisiert.
Dann könnte man auch wieder meine Vorschlag mit dem Kombinationsfeld verwenden.


RE: Enum Kommando mit string ausgabe - Cardinal1664 - 24.02.2016 15:36

Hallo zusammen


Ich werde es mit einem Enum als Typendefinition und einem VI mit Stringausgang wie im Anhnag realisieren.

Besten dank für eure Antworten.