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 

Dieses Thema hat akzeptierte Lösungen:

Schieberegister Initialisierung mit Array => Not a Number



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!

28.06.2017, 14:18
Beitrag #1

Roland Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Apr 2017

2016
2017
kA



Schieberegister Initialisierung mit Array => Not a Number
Hallo,
ich bekomme kontinuierlich Messwerte und möchte in einer Schleife die 0,5sec läuft einen Mittelwert ausrechnen
und dann immer aus dem alten Mittelwert und dem aktuellen Mittelwert einen neuen basteln.
Soweit hätte ich das zusammengeklickt und es funktioniert auch für sich im Test.

Doch wenn ich es in mein großes VI übertrage bekomme ich im Schieberegister der äußeren Schleife im durchgehend den eintrag Not a Number.

Hat jemand eine Idee warum es im Test funktioniert und wenn ich es in mein großes VI schreibe der Fehler auftaucht?

fg Roland


Angehängte Datei(en)
12.0 .vi  außere Schleife.vi (Größe: 6,84 KB / Downloads: 189)

12.0 .vi  innere Schleife.vi (Größe: 17,37 KB / Downloads: 167)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.06.2017, 14:28 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2017 14:42 von jg.)
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Schieberegister Initialisierung mit Array => Not a Number
Vielleicht sind die Werte, die du in deine Mittelung reinschiebst, irgendwann mal NaN, hast du das schon überprüft?

Gruß, Jens
Oder du schiebst irgendwann einmal in deiner realen Umsetzung ein leeres Array in dein "inneres Schleifen VI", dann kommen nämlich auch NaNs raus.

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
28.06.2017, 14:43
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schieberegister Initialisierung mit Array => Not a Number
Hallo,

zum subVI:
- Warum beschränkst du es künstlich auf genau 7 Werte im Array?
- Das ständige Aufsummieren der Werte im "Schieberegister" führt bei längerer Anwendung zu Rechenproblemen (Stichwort: Genauigkeit bei Floatingpoint-Datentypen!)
- Es gibt Funktionen wie "+1"…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2017, 17:38
Beitrag #4

Roland Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Apr 2017

2016
2017
kA



RE: Schieberegister Initialisierung mit Array => Not a Number
Hallo,
es kann sein, dass ich durch die Messdaten mal ein NaN ankommt...ich habe jetzt auch probiert das über
eine case-Struktur auszuschließen aber das hat so auch nicht funktioniert.

Mein Array ist 7 Werte breit und X Werte lang...da ich 7 verschiedene Sensorwerte einlese.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2017, 22:04 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2017 22:05 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Schieberegister Initialisierung mit Array => Not a Number
Und ich habe genau das ausprobiert:
(28.06.2017 14:28 )jg schrieb:  Oder du schiebst irgendwann einmal in deiner realen Umsetzung ein leeres Array in dein "inneres Schleifen VI", dann kommen nämlich auch NaNs raus.
und das führt zu dem von dir monierten Effekt.

Zitat:es kann sein, dass ich durch die Messdaten mal ein NaN ankommt...ich habe jetzt auch probiert das über
eine case-Struktur auszuschließen aber das hat so auch nicht funktioniert.
Glas1 Ohne VI keine weitere Hilfe... Glas2

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
01.07.2017, 15:26
Beitrag #6

Roland Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Apr 2017

2016
2017
kA



RE: Schieberegister Initialisierung mit Array => Not a Number

Akzeptierte Lösung

Ich empfange meine Daten per Queue und habe das Problem jetzt so gelöst, dass ich
die Anzahl der Elemente in der Queue auslese und den Durchschnitt nur berechne wenn die Anzahl der Elemente ungleich 0 ist.
Funktioniert soweit wunderbar...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
01.07.2017, 16:17
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schieberegister Initialisierung mit Array => Not a Number
Wäre es nicht sinnvoller zu verhindern, dass leere Arrays in die Queue hinein geschrieben werden? Oder wertest du etwa nicht den timeout beim QueueRead aus?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.07.2017, 15:58
Beitrag #8

Roland Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Apr 2017

2016
2017
kA



RE: Schieberegister Initialisierung mit Array => Not a Number
(01.07.2017 16:17 )GerdW schrieb:  Wäre es nicht sinnvoller zu verhindern, dass leere Arrays in die Queue hinein geschrieben werden? Oder wertest du etwa nicht den timeout beim QueueRead aus?

Prinzipiell gebe ich dir recht aber der Fall mit dem leeren Array tritt nur im ersten Zeitschritt auf und dann nicht mehr.
Also habe ich dadurch später eigentlich keine Probleme mehr.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Verwendung Schieberegister de_la_questa 2 2.565 04.01.2021 17:26
Letzter Beitrag: GerdW
  Werte nacheinander in Array schreiben über ein Schieberegister BlackEagle 5 7.627 13.12.2019 13:40
Letzter Beitrag: GerdW
  String zu Number umwandeln galilio 6 5.621 01.09.2016 15:38
Letzter Beitrag: GerdW
  Boolean Array (>32-Bit!) to Number Daniel_S 2 5.325 27.07.2016 13:44
Letzter Beitrag: jg
  Initialisierung Lokaler Variable Hosenscheisser 4 4.658 18.07.2016 09:45
Letzter Beitrag: Hosenscheisser
  Schieberegister anhalten Axel_Cologne 1 2.945 03.05.2016 10:39
Letzter Beitrag: jg

Gehe zu: