16.04.2008, 17:55
Heyho!
Ich muß leider schon wieder ein paar Fragen los werden, die ich mit der LV-Hilfe und sogar der Tutorial-CD leider nicht lösen konnte:
Ich möchte mit einem FT2232D und LabVIEW Daten erfassen. Dafür habe ich mir vom Hersteller die Beispiel-VIs geholt, die jeweils eine Funktion der .dll abarbeiten können. Die werden dann als "Eigene VI..." in mein Programm eingefügt, was so wie ich es mitbekommen habe auch die sinnvollste Vorgehensweise sein sollte.
Nun bin ich beim VI "SPI schreiben" leider über eine gelbe Leitung gestolpert, die sich als Cluster von 9 Werten darstellt. Was ein Cluster ist habe ich inzwischen begriffen und auch wo und warum man sie nutzen sollte. Sogar die Sache mit "Nach Namen bündeln" ist mir nun klar, bloß nützt es bisher nichts, weil ich es einfach nicht hin bekomme selbst einen Cluster zu erstellen
Hier mal die Vorgehensweise zur Erstellung eines Signalbündels, wie ich sie verstanden habe:
- Man fügt auf den Blockdiagramm eine "Cluster-Konstante" ein und füttert diese mit den korrekt benannten (Grund-?)Werten passenden Typs. Bloß wo finde ich die Variablen zum hineinziehen? Der einzige Datentyp, den LV bei mir im Cluster akzeptiert ist eine ganz simple numerische Konstante, bloß ist die blau umrandet und nicht gelb, wie in allen Beispielen, die ich auftun konnte.
- Als nächstes benötige ich das VI "Nach Namen bündeln", welchem ich als Eingang den Cluster anhänge - dann sollten die Namen darin auftauchen.
- Der Ausgang vom "Nach namen bündeln" transportiert nun jeweils eine benannte Variable mit ihrem Inhalt. Dabei ist die Reihenfolge unwichtig, da nach Namen identifiziert wird.
- Wenn ich Inhalte ändern möchte, schiebt man diese einfach vorn in die entsprechende Variable von "Nach Namen bündeln", richtig?
Im gleichen Zusammenhang ist noch eine weitere Frage aufgetaucht:
Wenn ich in Beispielprogrammen irgendwo an ein Bündel die passende Gegenfunktion (aufspalten bzw. bündeln) anhänge, taucht sofort ein Objekt mit korrekt benannten und definierten Signalen auf. In meinem Fall geht das Bündel aber in ein eingefügtes VI und dies ist nicht der Fall (sonst hätte ich o.g. Sorgen ja nicht). Andererseits meldet die Kontexthilfe alle Namen richtig zurück, wenn man mit der Maus über den Bündeleingang fährt. Mache ich da etwas falsch oder ist das bei externen VIs so, daß nicht automatisch übernommen wird? So müßte ich ja, sofern ich weiß wie es geht, das ganze Bündel händisch neu eingeben und penibel drauf achten, daß alle Namen auch zu denen passen, die der Eingang erwartet...
Liebe Grüße,
Dennis
Ich muß leider schon wieder ein paar Fragen los werden, die ich mit der LV-Hilfe und sogar der Tutorial-CD leider nicht lösen konnte:
Ich möchte mit einem FT2232D und LabVIEW Daten erfassen. Dafür habe ich mir vom Hersteller die Beispiel-VIs geholt, die jeweils eine Funktion der .dll abarbeiten können. Die werden dann als "Eigene VI..." in mein Programm eingefügt, was so wie ich es mitbekommen habe auch die sinnvollste Vorgehensweise sein sollte.
Nun bin ich beim VI "SPI schreiben" leider über eine gelbe Leitung gestolpert, die sich als Cluster von 9 Werten darstellt. Was ein Cluster ist habe ich inzwischen begriffen und auch wo und warum man sie nutzen sollte. Sogar die Sache mit "Nach Namen bündeln" ist mir nun klar, bloß nützt es bisher nichts, weil ich es einfach nicht hin bekomme selbst einen Cluster zu erstellen
Hier mal die Vorgehensweise zur Erstellung eines Signalbündels, wie ich sie verstanden habe:
- Man fügt auf den Blockdiagramm eine "Cluster-Konstante" ein und füttert diese mit den korrekt benannten (Grund-?)Werten passenden Typs. Bloß wo finde ich die Variablen zum hineinziehen? Der einzige Datentyp, den LV bei mir im Cluster akzeptiert ist eine ganz simple numerische Konstante, bloß ist die blau umrandet und nicht gelb, wie in allen Beispielen, die ich auftun konnte.
- Als nächstes benötige ich das VI "Nach Namen bündeln", welchem ich als Eingang den Cluster anhänge - dann sollten die Namen darin auftauchen.
- Der Ausgang vom "Nach namen bündeln" transportiert nun jeweils eine benannte Variable mit ihrem Inhalt. Dabei ist die Reihenfolge unwichtig, da nach Namen identifiziert wird.
- Wenn ich Inhalte ändern möchte, schiebt man diese einfach vorn in die entsprechende Variable von "Nach Namen bündeln", richtig?
Im gleichen Zusammenhang ist noch eine weitere Frage aufgetaucht:
Wenn ich in Beispielprogrammen irgendwo an ein Bündel die passende Gegenfunktion (aufspalten bzw. bündeln) anhänge, taucht sofort ein Objekt mit korrekt benannten und definierten Signalen auf. In meinem Fall geht das Bündel aber in ein eingefügtes VI und dies ist nicht der Fall (sonst hätte ich o.g. Sorgen ja nicht). Andererseits meldet die Kontexthilfe alle Namen richtig zurück, wenn man mit der Maus über den Bündeleingang fährt. Mache ich da etwas falsch oder ist das bei externen VIs so, daß nicht automatisch übernommen wird? So müßte ich ja, sofern ich weiß wie es geht, das ganze Bündel händisch neu eingeben und penibel drauf achten, daß alle Namen auch zu denen passen, die der Eingang erwartet...
Liebe Grüße,
Dennis