INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Werte nacheinander in Array schreiben über ein Schieberegister



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!

13.12.2019, 10:38
Beitrag #1

BlackEagle Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Nov 2019

LabVIEW 2019
-
EN



Werte nacheinander in Array schreiben über ein Schieberegister
Guten Morgen LabviewForum,

ich möchte 4 Werte nacheinander in ein Array schreiben, um diese im späteren Verlauf weiter verarbeiten zu können.
Die Werte sind Mittelwerte, sodass ich mir das Array am ende wie folgt vorstelle:

1. Schleifendurchlauf: [0 0 0 x1]
2. Schleifendurchlauf: [0 0 x1 x2]
3. Schleifendurchlauf: [0 x1 x2 x3]
4. Schleifendurchlauf: [x1 x2 x3 x4]

Dabei ist x1 mein Mittelwert aus der ersten Messung, x2 aus der 2. usw.

Ich habe versucht die werte über ein Schieberegister in eine Array erstellen - Funktion zu schreiben.
Die Elapsed-Time Funktion dient dazu, die Schleife (und somit meinen Prozess) nach einer definierten Zeit zu stoppen.
Da ich zunächst nur einen Wert erhalten möchte, wie bei Schleifendurchlauf 1 hab ich die Iteration der Schleife innerhalb meiner Case Struktur auf 1 gesetzt.
Wenn der Prozess erneut gestartet wird, soll x1 um eine Stelle weiter im Array verschoben werden und x2 an der 1. Stelle stehen (siehe 2. Schleifendurchlauf).

Ich hoffe durch mein angehängtes VI könnt ihr mir etwas weiterhelfen.

Grüße
BlackEagle


Angehängte Datei(en) Thumbnail(s)
   

19.0 .vi  Test_Werte_nacheinander.vi (Größe: 24,83 KB / Downloads: 44)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.12.2019, 11:05 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2019 11:10 von BlackEagle.)
Beitrag #2

BlackEagle Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Nov 2019

LabVIEW 2019
-
EN



RE: Werte nacheinander in Array schreiben über ein Schieberegister
Ich habe die Lösung gefunden denke ich, aber ich kann es mir noch nicht ganz erklären.

Wenn ich statt einer Konstante ein Control in das Schieberegister auf der rechten Seite schreibe, macht er genau das was ich erreichen wollte.
Bei einer Konstante wurde bei Änderung des Konstanten-Wertes beim nächsten Durchlauf eine 0 in der Array Stelle [1] gesetzt.

Kann mir jemand erklären warum dies so ist?Blink

Weiterhin gibt es ein Problem, dass die Stelle [1]und [2] vom Array den selben Wert erhalten, während bei Stelle [0] und Stelle [3] der richtige Wert steht.

Grüße
BlackEagle


Angehängte Datei(en) Thumbnail(s)
   

19.0 .vi  Test_Werte_nacheinander.vi (Größe: 25,02 KB / Downloads: 43)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.12.2019, 11:56 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2019 11:58 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 16.467
Registriert seit: May 2009

11SP1, 17SP1 (ab und zu 20)
1995
DE_EN

10×××
Deutschland
RE: Werte nacheinander in Array schreiben über ein Schieberegister
Hallo BlackEagle,

die Option, ein Schieberegister nach unten aufzuziehen, ist zwar nett, aber nicht skalierbar: was passiert wenn du mal 5 oder vielleicht 1000 Werte speichern willst?

Zwei Ideen:
   

Zitat:Bei einer Konstante wurde bei Änderung des Konstanten-Wertes beim nächsten Durchlauf eine 0 in der Array Stelle [1] gesetzt. Kann mir jemand erklären warum dies so ist?
Durch das Ändern der Konstante wurde das VI neu kompiliert. Damit wurden auch die im Schieberegister gespeicherten Werte auf Default, d.h. Null zurückgesetzt.

(Wozu überhaupt die While-Loop innerhalb einer Case-Struktur innerhalb einer äußeren While-Loop?)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.12.2019, 12:28
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.560
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Werte nacheinander in Array schreiben über ein Schieberegister
Oder du nimmst das fertige VI "Data Queue PtByPt.vi", der dort enthaltene Code entspricht dem Screenshot von GerdW.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.12.2019, 13:30 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2019 13:32 von BlackEagle.)
Beitrag #5

BlackEagle Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Nov 2019

LabVIEW 2019
-
EN



Smile RE: Werte nacheinander in Array schreiben über ein Schieberegister
Hallo Gerd,

dankeschön für Ihre Beispiele.

Da der Mittelwert nach 2 Minuten gebildet werden soll, möchte ich diesen Wert erst nach dieser Zeit in mein Array schreiben. Deswegen der Case. Aber eventuell ist das auch zu umständlich.
Ich erhalte nach einer Messung einen Mittelwert x1. Diese Messung wird mit beispielsweise vier chemischen Lösungen ausgeführt. Dementsprechend möchte ich die Werte aus meiner Messung nacheinander in ein Array schreiben, um diese später verarbeiten zu können.

Mein Ziel ist sozusagen nach vier Messungen:

[x1 x2 x3 x4] --> dabei ist x1: Wert für Chem. Lösung 1 x2: Wert für chem. Lösung 2 usw.

Wenn ich es mit Ihren Methoden mache und statt dem Zufallszahlen-Element ein Control nutze stehen die selben Werte an jeder Arraystelle.

Grüße
BlackEagle



(13.12.2019 12:28 )jg schrieb:  Oder du nimmst das fertige VI "Data Queue PtByPt.vi", der dort enthaltene Code entspricht dem Screenshot von GerdW.

Gruß, Jens

Hallo Jens,

Ich probiere es nun aus, tut mir leid habe es gerade erst gesehen.

Grüße BlackEagle


Angehängte Datei(en) Thumbnail(s)
   

17.0 .vi  Array.vi (Größe: 6,42 KB / Downloads: 45)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.12.2019, 13:40 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2019 13:41 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 16.467
Registriert seit: May 2009

11SP1, 17SP1 (ab und zu 20)
1995
DE_EN

10×××
Deutschland
RE: Werte nacheinander in Array schreiben über ein Schieberegister

Akzeptierte Lösung

Hallo BlackEagle,

Zitat:Deswegen der Case. Aber eventuell ist das auch zu umständlich.
Die Case-Struktur ist sinvoll bei deinen Requirements.
Aber die While-Loop darin ist "zu umständlich" im Sinne von "nicht nötig"…

Zitat:Mein Ziel ist sozusagen nach vier Messungen:
[x1 x2 x3 x4] --> dabei ist x1: Wert für Chem. Lösung 1 x2: Wert für chem. Lösung 2 usw.
Wenn ich es mit Ihren Methoden mache und statt dem Zufallszahlen-Element ein Control nutze stehen die selben Werte an jeder Arraystelle.
Wenn du nur zu bestimmten Zeitpunkten einen neuen Wert in das Array schreiben willst, benötigst du schon eine Case-Struktur:
Code:
IF ZEITPUNKT THEN
  neuen Wert ins Array eintragen
ENDIF

Momentan läuft deine Schleife so schnell, dass du nicht einmal siehst, wie der Wert aus dem Control die 4 Elemente im Array befüllt…

Zitat:mit Ihren Methoden
Hier im Forum darfst du übrigens duzen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  2D Array Werte zuordnen Floorhahn 2 2.913 27.01.2020 13:27
Letzter Beitrag: Floorhahn
  Werte aus Array als Anzeigeelement ares2013 11 3.514 30.04.2019 14:28
Letzter Beitrag: ares2013
  Aus einem Array festgelegte Werte zuweisen Kahlua 7 3.382 19.01.2018 13:42
Letzter Beitrag: Kahlua
  Array Werte zusammenfügen flizzer82 4 2.893 28.07.2017 12:15
Letzter Beitrag: flizzer82
  Encoder werte nach bestimmte steps in Array speichern ziarehmann 4 2.552 09.07.2017 23:33
Letzter Beitrag: Trinitatis
  Schieberegister Initialisierung mit Array => Not a Number Roland 7 4.617 03.07.2017 15:58
Letzter Beitrag: Roland

Gehe zu: