LabVIEWForum.de
Array befüllen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Array befüllen (/Thread-Array-befuellen)

Seiten: 1 2


Array befüllen - mis3212 - 31.05.2017 12:22

Schönen guten Tag,

Ich bin komplett unerfahren mit LabVIEW und hoffe, ihr könnt mir weiter helfen.

Ich habe folgendes Problem:
Ich möchte automatisch ein Array befüllen.
Der Benutzer gibt zwei (Start- bzw. End-) Koordinaten (x- und y- Wert) und eine Schrittweite vor, womit ein Viereck mit zahlreichen Punkten generiert wird.
Das Array soll dann die Koordinaten sämtlicher Punkte enthalten.

Das beste wird sein, ich erläutere es an einem Beispiel (Werte in mm):
Startpunkt: (0/0)
Endpunkt: (9/9)
Schrittweite: 3

Das Array soll folgende Werte beinhalten (1. Spalte: Index; 2. Spalte: x-Koordinate; 3. Spalte: y-Koordinate):

0 0 0
1 3 0
2 6 0
3 9 0
4 9 3
5 6 3
6 3 3
7 0 3
8 0 6
9 3 6
10 6 6
11 9 6
12 9 9
13 6 9
14 3 9
15 0 9

Anbei noch eine Skizze um die Reihenfolge der Punkte noch zu verdeutlichen.
Noch zu sagen wäre, dass das Rechteck nicht zwangsweise quadratisch sein muss und der vom Benutzer eingegebene Endpunkt nicht zwangsweise als letztes im Array ist.

Besten Dank bereits im Voraus.


RE: Array befüllen - jan_1 - 31.05.2017 14:37

Hallo mis3212,

nach welchen Kriterien wird denn der Verlauf des Weges defniert?
Ich könnte in deinem Beispiel ja auch einfach drei Schritte nach rechts und dann drei Schritte nach unten gehen.
Was soll passieren, wenn ich bei einer Schrittweite von 3 von (0/0) nach (4/0) möchte?
Und rein interessehalber: Was ist denn der Hintergrund dazu?

Gruß
Jan


RE: Array befüllen - mis3212 - 31.05.2017 14:59

Hallo Jan,

der Hintergrund ganz knapp erläutert: automatisiertes Abtasten des Messfeldes in einem Windkanal um Messdaten einer Hitzdrahtsonde aufzunehmen.

Das Kriterium, warum der Weg genauso abgefahren werden soll, sollte hiermit klar sein: Die "Schlangenlinien" sind deutlich schneller als Zeile für Zeile abzufahren.
Den Punkt (4/0) gäbe es bei einer Schrittweite von 3 gar nicht.

Ich hoffe das hilft weiter.


RE: Array befüllen - Freddy - 31.05.2017 15:01

Ich habe Dir mal ein Beispiel angehängt. Funktioniert aber nur wenn X und Y gleich sind.

Gruß
Freddy


RE: Array befüllen - mis3212 - 01.06.2017 11:41

Hey Freddy,

besten Dank bereits schon mal hierfür.
Da ich ja noch unerfahren bin, könntest du dein Beispiel etwas erläutern?

Gruß Michael


RE: Array befüllen - Freddy - 01.06.2017 12:27

Hab ein paar Textzeilen dazu geschrieben.

Zunächst wird die Anzahl der Stepps berechnet.
Dann wird der erste Y Wert genommen (äußere While Schleife) und dazu die gesamten X Werte berechnet (innere While Schleife).

Mit jeder Änderung des Y Wertes wird die Richtung geändert, dass wird mit einem Boolen Wert überwacht.

Für das Hochzählen wird der Schleifenindex mit dem Stepp multipliziert.
Für das Runterzählen wird vom Maximalwert (X*X) die Multiplikation von Index und Stepp abgezogen.

Mit dem Indizierten Ausgang der inneren Schleife wird ein 2 dimensionales Array erstellt.
Mit dem Verknüpfungsausgang der äußeren Schleife werden die Arrays aneinander gehängt.

Gruß
Freddy


RE: Array befüllen - Lucki - 02.06.2017 12:17

Ich benutze zur Erzeugung von Arrays mit gleichmäßig ansteigenden/absteigenden Elementen gern die Rampenfunktion. Hier mal ein Beispiel. Freddys Lösung ist aber genau so gut.
[attachment=57882]


RE: Array befüllen - mis3212 - 04.06.2017 20:08

Besten Dank euch beiden Freddy und Lucki.

Im Laufe der nächsten Woche werde Ich mir das dann mal anschauen und hoffe, dass Ich zu einer Lösung komme.
Zu Lucki: könntest du ebenfalls wie Freddy ein paar Worte zu deiner Lösung hinzufügen?

Gruß
Michael


RE: Array befüllen - Lucki - 05.06.2017 09:44

Ich dächte, das wäre nicht mehr nötig, weil das Freddy schon getan, und diese Lösung ist im Prinzip identisch. Unterschied: Es wird bei mir nicht alles in den beiden verschachtelten Schleifen gemacht, sondern das Programm beteht aus zwei Abschnitten. Im ersten Abschnitt werden nur die beiden X- und Y-1D-Arrays erzeugt, aus deren Elementen sich das zu erzeugende 2D-Array zusammensetzt. Im zweiten Abschnitt wird dann mit diesen Elementen das 2D-Array wie gewünscht zusammengestückelt
Der Vorteil meines Programms ist lediglich, dass zum Erstellen und Verstehen etwas weniger Gehirnakrobatik erforderlich ist.


RE: Array befüllen - mis3212 - 07.06.2017 10:58

Hey Freddi,

könntest Du dein Programm-File ebenfalls zur Verfügung stellen?

Gruß
Michael