LabVIEWForum.de
Case Structure ver - unden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Case Structure ver - unden (/Thread-Case-Structure-ver-unden)



Case Structure ver - unden - ollumque - 17.08.2012 16:19

Hi,

ich plane gerade mein Programm und habe hier eine recht grossen Auswahlprozess. Es stehen zur Auswahl: Device Type (A...xx), ApplicationType(1...254), calibrationtype(1..2), calibrationdat(dp,sp,T).

Und siese sind folgendermassen verknuepft:
Wenn DeviceType A && ApplicationType 1 && Calibration Type 1 && CalibrationData = sp dann rufe SubVI 1 Auf
Wenn DeviceType B && ApplicationType 1 && Calibration Type 1 && CalibrationData = sp dann rufe SubVI 2 Auf
Wenn DeviceType c && ApplicationType 1 && Calibration Type 1 && CalibrationData = sp dann rufe SubVI 1 Auf
Wenn DeviceType D && ApplicationType 1 && Calibration Type 1 && CalibrationData = sp dann rufe SubVI 3 Auf
....
....
usw

Ich weigere mich gerade mental das in Case Strukturen zu verbinden, da mir das unfassbar unueberlichtlich erscheint 4 Case Strukturen zu verschachteln. Vor allem, wenn eine Case Strukur 254 Cases haette. Ausserdem waeren viele Cases identisch und wuerden die selbe Aktion performen.

Gibt es eine einfachere/bessere Moeglichkeit Elemente zu verunden?


Vielen Dank fuer Tips, Tricks und Kniffe,
ollumque
(ich merke gerade das Freitag ist und noch dazu spaeter Nachtmittag in Deutschland...Big Grin, wahrscheinlich wird die Antwort dann noch etwas dauern^^)


RE: Case Structure ver - unden - BerndDasBrot - 17.08.2012 17:10

Hallo

Wenn es keine Systematik gibt, würde ich ein Array mit 5 Spalten machen und alle Kombinationen eintragen. Inder 5. Spalte steht das VI.

Dann bleibt der Code übersichtilch. Man kann zeilenweise nach der richtigen Kombination suchen.

Gruss, BDB


RE: Case Structure ver - unden - GerdW - 17.08.2012 20:01

Hallo,

ich schließe mich dem Vorschlag von BdB an und ergänze dadurch, dass ich die Verwaltung dieser Daten in einer csv-Datei empfehle - der gemeine Prüfstandsfahrer/-ingeneur nimmt doch am liebsten Excel zum Aufbereiten seiner Daten... Smile


RE: Case Structure ver - unden - Kiesch - 20.08.2012 12:53

Alternativ die Auswahlmöglichkeiten auf ein Integer abbilden, so dass jedem möglichen Fall genau eine Zahl zugeordnet ist (im Bereich xx * 254 * 2 * 3; wenn handlicher fürs zusammenfassen von Bereichen kannst du auch größere Zahlen nutzen) bis. Dann mit der Zahl die Case Struktur ansprechen. Macht vermutlich vor allem Sinn wenn du: Wenige SubVIs hast und oft "Bereiche" hast die das gleiche VI erfordern. Sprich also: Wenn deine "Daten" die du dem Hinwirfst viel Struktur haben.

Wenn die 5 Eckdaten (Device typ, App Typ, Calib Typ, Calib Data, SubVI) wirklich absolut willkürlich zusammenhängen (sprich: Einfach festgelegt werden und keinen "Sinnzusammenhang" haben), dann würde ich auch eher die angsprochene Lösung empfehlen. Dürfte dabei am einfachsten sein die Übersicht zu behalten.


RE: Case Structure ver - unden - ollumque - 20.08.2012 16:37

Vielen Dank fuer die Tips!
Zur Zeit ist die Anzahl der Kombinationen noch sehr ueberschaubar, aber voraussichtlich wird das ganze wachsen. Ist es dann nicht recht zeitintensiv jedesmal eine Tabelle/2D Array zu durchsuchen?

ollumque


RE: Case Structure ver - unden - GerdW - 20.08.2012 18:08

Hallo ollumque,

wenn man die Tabelle sortiert, ist die Suche sehr schnell/einfach zu erledigen...


RE: Case Structure ver - unden - ollumque - 20.08.2012 20:23

mhm..jap. Da ich sie selbst schreibe, kein Ding! Danke!

Ich habe die Excel Tabelle meinem LV Projekt hinzugefuegt. Kann ich darauf fuer den Dateipfad referenzieren? Zur Zeit gebe ich den Dateipfad statisch an, aber sobald das Projekt auf einem anderen Rechner geoeffnet wird, ist alles hinueber..


RE: Case Structure ver - unden - GerdW - 21.08.2012 07:41

Hallo ollumque,

Zitat:Zur Zeit gebe ich den Dateipfad statisch an, aber sobald das Projekt auf einem anderen Rechner geoeffnet wird, ist alles hinueber..
Willkommen in der Realität: Statische Dateipfade gibt es dort nicht (oder nur sehr selten)!
Nimm den Ordner deines VIs/deiner EXE und einen bekannten Unterordner davon...