LabVIEWForum.de - Dropdown-Menue mit Add-SubVI

LabVIEWForum.de

Normale Version: Dropdown-Menue mit Add-SubVI
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Domi,

Zitat:mit einer For-Schleife woltle ich das zuerst auch machen, wusste dann aber nicht auf was ich den Zähler stellen soll.
Hast du schon mal den Begriff "Autoindizierung" gehört? Kommt garantiert in den LabVIEW-Basics (siehe Signatur) vor...
@all: Moin.
@Markus: Griaß di. Big Grin

Auch auf die Gefahr hin hier queer zu schiessen und Verwirrung bei Domi zu stiften:
Ich halte die Verwendung von CSV-Dateien für den besseren weg aus 3 Gründen ->
1.) CSV-Dateien haben sich in den letzten 15 Jahren in ihrem Format nicht geändert, weil es im Grunde einfache Textdateien sind.
2.) Excel hat in der Vergangeheit öfters sein Dateiformat oder die Art des Zugriffs, sprich die API geändert, so dass funktionierende VI's irgendwann nicht mehr funktioniert haben.
3.) Das Auslesen der Daten aus einer CSV-Datei ist einfacher/weniger fehleranfällig als der Zugriff auf eine Exceltabelle, weil der Nutzer weniger Möglichkeiten hat um etwas durcheinander zu bringen. Bei Excel spielen Dinge wie die Indizierung und Benennung der Tabellenblätter eine Rolle, soetwas gibt es bei CSV nicht.

Auf jeden Fall solltest du bei Verwendung der Exceltabelle darauf achten, dass du das Format festlegst und über die Möglichkeit Zellen und Arbeitsmappen vor unbefugter Bearbeitung zu schützen, dafür sorgst, dass zumindest der Tabellenname/Index nicht geändert werden kann.

Gruß,
//Tobias

PS: Der größte Störfaktor für einen Programmierer? Die Anwender.....
@GerdW: Habe zum erlernen von Labview ein Praktikum an der Hochschule besucht und um nun im Praxissemester wieder in die Materie einzusteigen das "Einführung in Labview"-Buch
dabei, da ich hier aber gleich anfangen sollte Daten auszulesen habe ich das Buch nur so
nebenbei überflogen und mir immer das gesucht was ich gerade gebraucht habe.
Autoindizierung hat leider nicht mal ein kleines Unterkapitel im Buch sondern steht nur am Ende deer For-Schleife dahalb hab ich das wohl übersehen bisher Angel

Aber Danke, jetzt weiß ichs und schreib mir eh alle Tipps nebenbei mit.
Shift-Register stehen da jetzt auch schon drauf Big Grin

@BsaiboT: Hmm ja ich weiß was du meinst und das habe ich mir auch schon gedacht, doch
mein Betreuer ist momentan nur selten da und hat letztes mal, als er ganz kurz zeit hatte
gemeint ich soll das im normalen excel format machen.
Ich glaube ich frage ihn einfach nochmal und geb ihm deine Begründung Blush
Wäre warscheinlich sinnvoller mit CSV-Dateien

An Alle: Habe noch ein kleines Problem mit meinem ansonsten fertigen VI (siehe Anhang).
Wenn ich das .xlsx aus einem neuen Pfad lese bekomme ich für alle Indikatoren (Strom,Spannung und Leistung) neue Werte auf dem FP, allerdings ändert sich der Gerätename
nicht Blink .
Darin stehen immernoch die Namen des .xlsx das ich als erstes mit dem VI geöffnet habe und wollen sich scheinbar nciht ändern. Ich denke das in ein Control einfach nichts ausgelesen wird, aber ich kann ja keinen Indikator draus machen, ich brauch die Geräte ja als Auswahl
Hallo domi,

Zitat:Wenn ich das .xlsx aus einem neuen Pfad lese bekomme ich für alle Indikatoren (Strom,Spannung und Leistung) neue Werte auf dem FP, allerdings ändert sich der Gerätename nicht
Dann solltest du vielleicht auch einmal zeigen, wie du versuchst, die neu eingelesenen Werte zuzuweisen? Dein bisheriges Bild hilft da nicht weiter...

P.S.:
Kannst du die Zeilensprünge mal weglassen, wenn du hier einen Text schreibst? Nicht jeder verwendet einen Bildschirm mit nur 640 Pixel Breite: bei FullHD sieht es schon komisch aus, wenn dein Text nur ein Viertel der Bildschirmbreite ausfüllt...
Also ich würde das Auslesen der Exceldatei und somit das Füllen deines DropDown-Menüs eher einmal beim Starten des VI machen und dann ggf. noch ein separates Event zum Aktualisieren der Liste einfügen, falls sich der Inhalt der Exceldatei ändert. Angestoßen über einen Button "Update Device List" oder so.
Die Daten deiner Liste behälst du Dir zur Laufzeit in einem Array (mitteles Schieberegistern).

Dadurch bist du später auch etwas flexibler, wenn es noch weitere Änderungen geben soll. Immer schön den Programmaufbau modular gestalten, dann hat man es später einfacher. Ein richtiges Konzept, dass du bereits nutzt sind SubVIs, aber interessant könnte für dich ebenfalls das Konzept der Statemachine sein.

Eine denkbare Änderung, wenn ich Dein Betreuer wäre, könnte sein, dass man den Inhalt der Exceldatei und somit des DropDown-Menüs zur Laufzeit in LabView erweitern kann..... Aber damit will ich Dir nur Angst machen und zum Denken anregen, damit Du für zukünftige Aufgaben Deines Betreuers mental vorbereitet bist.

Blink

Gruß,
//Tobias
(22.10.2013 09:51 )dbuckl schrieb: [ -> ]Darin stehen immernoch die Namen des .xlsx das ich als erstes mit dem VI geöffnet habe und wollen sich scheinbar nciht ändern. Ich denke das in ein Control einfach nichts ausgelesen wird, aber ich kann ja keinen Indikator draus machen, ich brauch die Geräte ja als Auswahl
Lokale Variable des Controls anlegen...

Gruß, Jens
@GerdW: Danke, hab es geschafft. Musste lange überlegen was du genau mit deinem letzten Kommentar gemeint hast Blush aber dann ist mir aufgefallen das ich für das String[] Property ja auch einen String-Ausgang aus dem SubVI brauche.

PS: Ok das mit den Zeilenumbrüchen lasse ich jetzt.

@BsaiboT: Habe gerade versucht auch deinen Vorschlag zu realisieren und kann auch die Datensätze in ein Array schreiben aber danach bin ich nicht weiter gekommen, naja aber es funktioniert jetzt auch so Blush
Das mit dem erweitern der Liste bei laufendem VI war auch zuerst meine Idee, ich wollte neben dem Gerätenamen gerne ein Plus haben das durch anklicken ein kleines SubVI öffnet das es erlaubt neue Daten in ein Tabellenfenster zu schreiben.
Habe allerdings keine Ahnung wie man das realisiert.

Habs nochmal hochgeladen alles falls sichs jemand anschauen möchte

Gruß
Domi
(22.10.2013 10:09 )BsaiboT schrieb: [ -> ]Also ich würde das Auslesen der Exceldatei und somit das Füllen deines DropDown-Menüs eher einmal beim Starten des VI machen und dann ggf. noch ein separates Event zum Aktualisieren der Liste einfügen, falls sich der Inhalt der Exceldatei ändert. Angestoßen über einen Button "Update Device List" oder so.
Die Daten deiner Liste behälst du Dir zur Laufzeit in einem Array (mitteles Schieberegistern).

Ich muss es doch so machen wie du geschrieben hast da das Excel-File sonst ständig neu ausgelesen wird, komme allerdings nicht mehr weiter.
Wie mach ich denn einen "Update Device"-Button für das Event? Hast du dir das so vorgestellt wie ich das hier gemacht habe.

Gruß Domi
Hallo Domi,

man erstellt einen neuen Eventcase für das Update...
Hab ich mir schon gedacht, aber wo soll ich denn das Control dafür plazieren Blink
Hab gerade irgendwie den Überblick verloren.
Seiten: 1 2 3
Referenz-URLs