LabVIEWForum.de
Probleme bei Arrayerstellung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Probleme bei Arrayerstellung (/Thread-Probleme-bei-Arrayerstellung)



Probleme bei Arrayerstellung - arek1912 - 10.09.2012 22:12

Hallo zusammen,

leider schaffe ich es nicht mein Vorhaben umzusetzen. Nun habe ich mich hier registriert und erhoffe mir Unterstützung.

Ich möchte zum eingestellten Fokus jeweils den Durchschnittswert und Maximalwert, die nach einer bestimmten Zeit ermittelt werden in ein Array packen und als Tabelle darstellen. Im Anhang befindet sich ein Bild mit einer Tabelle, anhand der man erkennen kann, wie ich es meine. Außerdem sollte in die nächste Zeile erst geschrieben werden, nachdem der Fokus geändert wurde.

Ich habe bereits vieles ausprobiert aber dem Ziel nicht näher gekommen. Ich habe ein Screenshot von einem der Versuche angefügt.

Ich bedanke mich für eure Mühe im Vorraus.

Gruß Arek


RE: Probleme bei Arrayerstellung - GerdW - 11.09.2012 08:03

Hallo Arek,

- sollen wir jetzt in deinem Bild herummalen oder hängst du evtl. auch noch ein VI hier an?
- du scheinst dir über den Sinn und Zweck der Funktion InitializeArray nicht im Klaren zu sein. Schon mal die Kontexthilfe gelesen?
- wenn du eine Schleife sekündlich ausführen lässt, wird sie wohl auch jede Sekunde Werte in deine Tabelle schreiben. Wenn du das nicht willst, musst du es anders programmieren...
- lokale Variablen wären nicht nötig, wenn du auf die parallele Schleife verzichtet hättest...

Vorschlag für ein subVI:
[attachment=41504]


RE: Probleme bei Arrayerstellung - arek1912 - 19.09.2012 19:25

Hallo,

erstmal vielen Dank für die Antwort. Bin jetzt etwas schlauer ;-)

Nun habe ich allerdings ein anderes Problem:

Bei Start der Messung (untere while-Schleife) soll das Array, in dem mean und max value ermittelt werden, gelöscht werden. Zur Zeit wird das Array gelöscht sobald sich der Fokus ändert, nach durchlauf einer Messung befindet sich der Fokus allerdings bei 0. Startet man nun eine neue Messung bleibt der Fokus im ersten durchlauf bei 0 und das Array beinhaltet Werte, die bereits vor dem Start der Messung ermittelt wurden.

Außerdem möchte ich aus dem Array der unteren Schleife eine Kurve erstellen. X-Achse soll der Fokus sein und Y-Achse mean.

Kann mir bitte jemand helfen?

Gruß Arek


RE: Probleme bei Arrayerstellung - NWOmason - 20.09.2012 05:51

(19.09.2012 19:25 )arek1912 schrieb:  Bei Start der Messung (untere while-Schleife) soll das Array, in dem mean und max value ermittelt werden, gelöscht werden.

Genau blicke ich bei deinem Draht-Gewurschtel nicht ganz durch, aber vll. einfach das Schieberegister für das MIN/MAX-Array initialisierien?

Sonstiges:
  • Einen DBL für die Anzahl Durchläufe der FOR-Schleife ist nicht so prickelnd. Wie oft soll diese denn bei 15,68 durchlaufen werden?
  • Der Conditional-Terminal der Forschleife wird hier wohl nicht benötigt, da die 'Continue'-Bedingung nur einmalig beim Start der Schleife ausgelesen wird. Was soll damit bezweckt werden?
  • BD darf noch aufgeräumt werden (max 1 Bildschirmseite und kein Draht-Wirrwarr)


(19.09.2012 19:25 )arek1912 schrieb:  Außerdem möchte ich aus dem Array der unteren Schleife eine Kurve erstellen. X-Achse soll der Fokus sein und Y-Achse mean.

Kann mir bitte jemand helfen?

Dafür eignet sich sehr gut der XY-Graph Smile

Beste Grüße,
NWO


RE: Probleme bei Arrayerstellung - arek1912 - 20.09.2012 11:37

Hallo,

dank deines Beispiels habe ich den Graph darstellen können. Die sonstigen Bemerkungen habe ich auch umgesetzt.
Mit dem Löschen des Arrays bin ich aber nicht weiter gekommen.
Wie man ein Array löscht weiß ich ja, aber die Bedingung zum Löschen des Arrays ist in einer anderen Schleife als das Array selbst. Das Array wird gelöscht wenn der Fokus geändert wird (aktueller Fokus ungleich neuer Fokus -> false). Nachdem eine Messung durchlaufen ist wird ein Fokus 0 gesetzt, weil i=0 in der For-Schleife ist. Bei Start einer neuen Messung beginnt ja die Schleife bei i=Fokus=0. Also wird der Fokus nicht geändert und das Array nicht gelöscht. Werte, die vor Starten der Messung im Array gespeichert wurden, bleiben im ersten Durchlauf der For-Schleife gespeichert.
Ich habe das Blockdiagramm etwas aufgeräumt und zusätzlich Notizen hinein geschrieben zum besseren Verständnis.

Ich hoffe man versteht mein Problem ;-)

Gruß Arek