LabVIEWForum.de - Fehler bei Index Array

LabVIEWForum.de

Normale Version: Fehler bei Index Array
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin LabVIEW-Neuling und habe Fragen zu dem Index-Array-VI. Habe bislang nirgendwo eine richtige Antwort gefunden.

Also ich will einen eingelesenen Sensorwert mit Werten in einem Array vergleichen und dann ggf interpolieren um meinen tatsächlichen Wert zu bekommen.
Wenn ich das ganze in einer FOR-Schleife mache, kann ich dann das (iteration) "i" nicht einfach auf einen Eingang von Index Array (bspw "index row") legen?
Bei mir erscheint dann ein kleines orange-farbenes Kreuz, statt des schwarzen Kastens.

Mein zweites Problem- vielleicht einfach nur Verständnis: Ich betrachte einen einzelnen eingelesenen Wert mit Werten aus dem Array und mulltipliziere ggf mit einem Array-Element. Wieso ist dann nach Durchlaufen der FOR-Schleife mein Ergebnis auch ein Array und nicht einfach ein Numeric-Wert?

Ich hoffe es kann mir jemand helfen, ich wäre sehr dankbar!!!

LG,

jze
Hallo jze,

Deine grundsaetzlichen Annahmen sind schon richtig (z.B. "i" kann mit Index row verbunden werden). Es sieht so aus als ob Du etwas anderes programmierst als Du meinst.
Am Besten stellst Du uns hier mal Dein VI zur Verfuegung.

Gruss,
Marko
Bei ein und Ausgängen einer For Schleife hast du die Möglichkeit (per rechter Maustaste -> Indizierung aktivieren) die Indizierung des Wertes zu regeln.

Ist diese Aktiv, dann liest er (Eingang) automatisch bei jedem Schleifendurchgang einen Wert aus deinem Array aus. Du kannst dir also die Funktion Index Array sparen.

Das gleiche gilt auch für einen Ausgang. Ist Indizierung aktiv, dann werden alle Numeric Werte einzelner Schleifendurchgänge zu einem Array.

Ich vermute einmal, dass dein Problem daher rührt, dass du Index Array angeschalten hast. Aber am besten wird wirklich sein, du zeigst uns dein Vi.

edit: Hab dir ein Beispiel angehängt.
Hallo,

vielen Dank erstmal für die Hilfe.

Der Anhang sollte jetzt eigentlich mein Blockdiagramm zeigen.
Bitte nicht über meine Anfänge des Programmierens lachen Wink

Also was genau ich erreichen will: ich bekomme einen Sensorwert (den ich vorerst über ein "Control" simuliere, den ich mit den Werten in der eingelesenen Tabelle (Array) vergleichen will. liegt der Wert genau zwischen zwei Werten, so soll er mit der Steigung zwischen diesen Punkten multipliziert werden.
Ich will also eine Spalte meines Arrays durchlaufen für den Vergleich und in dem Fall, dass meine Abfrage "wahr" ist, mich dann auf eine andere Spalte (in der die Steigung steht) beziehen.
so- hab jetzt das vi angehängt- ist vielleicht einfacher
Hallo jze,

wenn ich dich richtig verstanden habe könnte Dir das vielleicht helfen.

P.S.: Gilt allerdings nur für positive Steigungen.

Gruss,
Marko
Ich hab nur positive Steigungen- ich schau's mir gleich mal an- vielen Dank schonmal!!!
Big Grin
Hallo, vielen Dank, die posts haben mich weitergebracht.
So, nun wartet aber das nächste Problem- ich hoffe, es schaut jemand vorbei, der mir helfen kann.

Ich habe im Programm einen analogen Wert, der in einen 8-Bit digitalen wert umgewandelt werden soll. Bislang habe ich nichts brauchbares gefunden, außer "Number to Boolean Array", wo man allerdings die Auflösung nicht bestimmen kann.
Und dann muss ich meine 8-Bit auf mein DAQPad bekommen- muss ich dann tatsächlich 8 mal den DAQ-Assistant nutzen, oder geht das irgendwie in einer FOR-Schleife? -ach ja, und noch weigert sich der DAQ-Assistant, meine Array-Elemente anzunehmen- die gefallen ihm vom Datentyp nicht- aber digital ist ja nunmal digital...

Wäre dankbar für jede Hilfe!
Referenz-URLs