LabVIEWForum.de - Array erstellen

LabVIEWForum.de

Normale Version: Array erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

im Rahmen meiner Technikerarbeit, habe ich einen µC programmiert und bereite die gemessenen Werte optisch mit LabVIEW für den Benutzer etwas auf.
Es handelt sich um folgende Thematik:

  1. Werte seriell an LabVIEW senden
  2. Während der Messung Werte (live) anzeigen
  3. Nach beenden der Messung gemessene Werte in einer Tabelle darstellen


Die ersten beiden Punkte stellen noch nicht das große Problem dar. Ich zeichne verschiedene Events auf und möchte nun nur die Werte, später in der Tabelle angezeigt bekommen, die auch wirklich ein Event waren.
Hatte erhofft das in ein bzw. mehrere Arrays zu packen und dann in die Tabelle zu schieben.
Jedoch fehlt mir der Ansatz wie ich die Arrays befülle.
Messen tu ich immer, live anzeigen auch alles, aber in der Tabelle möchte ich nur tatsächliche Events angezeigt bekommen.

Wenn ich BSP. auf die Wertänderung der Evenvariable reagiere, sind die dazugeörigen Spg. Werte schon verworfen.

Hoffe ich konnte mich so ausdrücken das die Problematik verständlich wird.


Viele Grüße
Alexos
Hallo Alexos,

Zitat:möchte nun nur die Werte, später in der Tabelle angezeigt bekommen, die auch wirklich ein Event waren.
Etwas in der Art vielleicht:
Code:
IF Event THEN
  add new value to array
ENDIF

Zitat:Ansatz wie ich die Arrays befülle.
Mit BuildArray…
Hallo GerdW,

vielen Dank für deine schnelle Antwort, prinzipiell ja!
Kann ich denn Arrays auch wie in klassischer Programmierung mit Index ansprechen, befüllen und auslesen?

Code:
index = eventcount;
spg[index] = voltage;
Kannst du. Array vorinitialisieren mit "Initialize Array", Element ersetzen mit "Replace Array Subset". Hängt von der Anzahl der erwarteten Ereignisse ab, ob sich das wirklich lohnt. Gerds Vorschlag skaliert einfacher...

Gruß, Jens
Hallo jg,

ich verstehe nicht was du mit:

(02.04.2015 11:47 )jg schrieb: [ -> ]Gerds Vorschlag skaliert einfacher...

meinst?

Ich verstehe generell die Anwendung der Arrays in LV noch nicht!

Gruß
Alexos
Hallo Alexos,

Zitat:ich verstehe nicht was du mit meinst
Bei meinem Vorschlag wächst das Array mit den Messwert ungehindert an (solange Speicher verfügbar ist).
Bei deinem Vorgehen musst du ein Array fester Größe definieren - was zu Problemen führt, wenn du mehr Messwerte ablegen willst als dein Array (bisher) Elemente bereithält…

Software "skaliert" mit einer Aufgabe, wenn sie sich an den Datenumfang selbständig anpassen kann… (Umgangssprachlich ausgedrückt)

Zitat:Ich verstehe generell die Anwendung der Arrays in LV noch nicht!
Zum Glück gibt es ja die ganzen Trainingsangebote, die ich in meiner Signatur gesammelt habe…
Ich stell jetzt mal den Ausschnitt online den ich bisher gebaut habe. Leider funktioniert der nicht so richtig!
Wahrscheinlich denk ich viel zu sehr um die Ecke!

Aber das "grafische Programmieren" ist nicht so meine Welt!

[attachment=52719]

Hoffe ihr könnt mir irgendwie weiterhelfen Blush

Edit jg: Externer Bild-Link gelöscht.
Hallo Alexos,

wir hatten erst die letzten Tage René erklärt, wie man Arrays bauen kann: hier!

Zitat:Leider funktioniert der nicht so richtig!
"Nicht so richtig" ist keine besonders gelungene Fehlerbeschreibung!

Du erstellst in deiner Formulanode in JEDER Iteration neue Arrays aus 5 Elementen. In diese neuen Arrays trägst du an der Stelle "loop" einen einzelnen Wert ein und gibst die Arrays aus dem Formulanode aus. Wie gesagt: Arrays aus 5 Elementen, von denen eines einen Wert zugewiesen bekam. Aus diesen 1D-Array baust du 2D-Arrays, indem du sie als erste (und einzige) Zeile des 2D-Arrays einträgst. Mehr machst du nicht…
Zitat:Ich verstehe generell die Anwendung der Arrays in LV noch nicht!

Hierfür gibt es Abhilfe. Praktischerweise gleich aus mehreren Quellen.
  1. Die Labviewhilfe
  2. Labview QuickHelp (STRG+H drücken)
  3. Gerd´s geballte Signatur
  4. Mini-VI´s basteln und sich einzelnen Array Elemente gezielt anschauen und ausprobieren (Insert, Replace, Initialize, Build, Delete)

Zum üben empfiehlt es sich, mit nur einer Dimension anzufangen. Das Array verhält sich dann wie eine Spalte in Excel. Jeder Wert hat einen Index, beginnend bei 0. Es gibt im übrigen auch sehr anfängerfreundliche Bücher dazu: Einführung in Labview (Amazon)
Das Teil ist auf Deutsch verfasst, leicht verständlich und deckt die Grundlagen nahezu vollständig ab. Klare Empfehlung von meiner Seite.

Gruß
Noway
Offtopic2
Hallo Alexos,
bitte Anhänge (auch Bilder) das nächste Mal hier im Forum hochladen (vgl. LVF-Regeln).
Danke, Jens
Referenz-URLs