LabVIEWForum.de - geradzahliges Array

LabVIEWForum.de

Normale Version: geradzahliges Array
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Sehr geehrte LV-Gemeinde,

im Anhang befindet sich mein vereinfachtes VI mit dem ich noch ein Problem habe. Ich initialisiere ein 2D-Array in dem sich durch Zufallszahlen immer unterschiedlich viele Zeilen ergeben. Als Ergebnis hätte ich gerne, dass sich immer geradzahlig viele Zeilen ergeben und wenn sie ungerade sind, soll die letzte Zeile am Anfang des Arrays im nächsten Schleifendurchgang angehängt werden (bzw. das neue Array an die Zeile des alten Arrays). In den Spalten stehen immer gleich viele Elemente.
Hat jemand eine Idee, wie ich es löse, wenn ich Fall, dass ich geradzahlige Arrays bekomme, keine Zeile übergeben wird?

Vielen Dank im Voraus.
derduid

[attachment=45768]
Hallo duid,

deine Beschreibung war etwas konfus, deshalb das hier als Idee:
[attachment=45771]
Hallo GerdW,

erstmal vielen Dank für die schnelle Antwort. Allerdings hilft mir die Idee leider nicht weiter.

Ich bekomme als Eingang meines Sub-VIs ein 2D-Array mit verschieden vielen Zeilen (mit immer gleicher Spaltenanzahl, heißt erste Dimension ist gleich, zweite unterschiedlich) und diese würde ich gerne zu einem Array mit geradzahligen Zeilen "bündeln". Wenn ein 2D-Array am Eingang ungerade ist, sollte die letzte Zeile ausgeschnitten und dem Array im nächsten Schleifendurchgang vorne angehängt werden. Natürlich könnte dieses "neue" 2D-Array (mit der angehängten Zeile des vorrigen Schleifendurchlaufs oder auch nicht angehängt, falls es gerade war) auch wieder ungerade sein. Dann müsste man wieder die letzte Zeile entfernen und dem nächsten 2D-Array vorne angehängen, etc.

Ist das so verständlich?

Beste Grüße
Du warst doch schon recht weit. Allerdings hast du in deinem Bsp immer ein Array derselben Größe erzeugt.
Deshalb hier ein Variante mit zufälliger Zeilenanzahl:
[attachment=45777]
Das musst du jetzt noch zu einem FGV-SubVI umbauen, und du bist fertig.

Gruß, Jens
Hier noch mal das Gleiche wie von Jens, wenn auch später - ich wurde zum Essen abberufen. Der Einfachheit halber nehme ich statt Spalten Elemente, d.h ich mach das mit 1D-Arrays. Die Erweiterung auf 2D ist ja trivial und hat mit dem Problem selbst nichts zu tun.
[attachment=45778]
Vielen Dank für eure Hilfe!

Ich weiß zwar nicht genau, wie ich ein FGV-SubVI aufbau, aber ich habe es einfach mit einer Rückkopplung realisiert.
Eine Frage habe ich noch:
Kann man ein externes digitales Signal sowohl als Trigger (DAQmx Start Trigger) für analoge Eingänge als auch für den Task, mit dem ich dieses digitale Signal messen will, verwenden?

Beste Grüße
Stefan
(07.08.2013 11:49 )derduid schrieb: [ -> ]...
Ich weiß zwar nicht genau, wie ich ein FGV-SubVI aufbau, aber ich habe es einfach mit einer Rückkopplung realisiert.
...

Hallo Stefan,

eine FGV ist eine funktionale globale Variable. Wenn du ein Sub-VI erstellst, das eine While-Schleife enthält, die genau einmal durchläuft und uninitialisierte Schieberegister enthält, dann steht dir der einmal (bzw. zuletzt) in dieses Schieberegister geschriebene Wert bei jedem neuen Aufruf dieses VIs wieder zu Verfügung. Insofern kommt es einer globalen Variable gleich.


Gruß, Marko
Eine nichtinitialiserte Feedback-Node leistet dasselbe wie eine While-Schleife+Schieberegister, somit hast du instinktiv dein erstes FGV erstellt.

Gruß, Jens
Referenz-URLs