Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
06.08.2013, 12:34 (Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2013 12:38 von derduid.)
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?
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.
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:
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.
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?
(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.