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:

Aus Waveform stabilen Double erzeugen



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!

17.05.2021, 14:12 (Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2021 14:52 von Titus85.)
Beitrag #1

Titus85 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Jul 2014

2019
2014
DE


Deutschland
Aus Waveform stabilen Double erzeugen
Hallo Leute,

ich habe ein Problem: Ich lese ein Quatum von HBM aus, die Treiber des Herstellerst geben mir Waveforms aus. Das Diagram zeigt auch immer alles so an wie man es erwartet, jetzt will ich aber den aktuellen Messwert als Double vorliegen haben um Bedingungen zu setzen: z. B. Abschaltung wenn Weg 50 mm überschritten etc..

Leider weiß ich nicht wie ich aus dem Signal einen stabilen Wert ableite, über "Signalverlaufskomponenten" habe ich den Y-Wert ausgeleitet und den Mittelwert gebildet, was zunächst gut ausgesehen hat, aber als ich die Schleife mit 1ms (statt 100ms) habe laufen lassen wechselt die Anzeige auf NaN. Kann mir jemand sagen woran das liegt und wie ich mein Ziel erreiche, einen stabilen Double zu bekommen?

Gruß Titus

Edit: Also ich habe jetzt eine "Lösung" gefunden, und zwar wird mit Hilfe eines case und einem Schieberegister die NaN aussortiert, aber das will ich ehrlich gesagt nicht so lassen, zumal ich auch verstehen will was da passiert.


Angehängte Datei(en) Thumbnail(s)
       

lex et ordo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.05.2021, 15:27 (Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2021 15:28 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Aus Waveform stabilen Double erzeugen
Hallo Titus,

Zitat:Leider weiß ich nicht wie ich aus dem Signal einen stabilen Wert ableite, über "Signalverlaufskomponenten" habe ich den Y-Wert ausgeleitet und den Mittelwert gebildet, was zunächst gut ausgesehen hat,
Ein Mittelwert (oder der erste/mittlere/letzte Wert aus dem Y-Array) kann man gut als "stabilen DBL"-Wert aus einer Waveform generieren.

Zitat:aber als ich die Schleife mit 1ms (statt 100ms) habe laufen lassen wechselt die Anzeige auf NaN. Kann mir jemand sagen woran das liegt und wie ich mein Ziel erreiche, einen stabilen Double zu bekommen?
Hier liegt das eigentliche Problem: du setzt deine Schleife auf unrealistische Wartezeiten!
Welche Samplerate hast du denn beim HBM-Messsystem eingestellt? Welche Sampleraten liefert dir das System?
Meine Vermutung ist, dass bei einer Wartezeit zum nächsten Vielfachen einer Millisekunde einfach ab und zu leere Waveforms (ohne Samples) geliefert werden: der Mittelwert eines leeren Arrays ist nun mal NaN!

Zitat:Edit: Also ich habe jetzt eine "Lösung" gefunden, und zwar wird mit Hilfe eines case und einem Schieberegister die NaN aussortiert, aber das will ich ehrlich gesagt nicht so lassen, zumal ich auch verstehen will was da passiert.
Wenn du weiterhin leere Waveforms lesen willst (obwohl unsinnig), dann musst du auch weiterhin eine Case-Struktur+Shiftregister verwenden, um diese leeren Waveforms auszusortieren…

P.S.: AutoCleanup täte deinem Blockdiagramm gut…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2021, 07:02
Beitrag #3

Titus85 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Jul 2014

2019
2014
DE


Deutschland
RE: Aus Waveform stabilen Double erzeugen
Hallo Gerd,

(17.05.2021 15:27 )GerdW schrieb:  Hier liegt das eigentliche Problem: du setzt deine Schleife auf unrealistische Wartezeiten!
Welche Samplerate hast du denn beim HBM-Messsystem eingestellt? Welche Sampleraten liefert dir das System?
Meine Vermutung ist, dass bei einer Wartezeit zum nächsten Vielfachen einer Millisekunde einfach ab und zu leere Waveforms (ohne Samples) geliefert werden: der Mittelwert eines leeren Arrays ist nun mal NaN!

in diese Richtung habe ich auch bereits gedacht und habe mir die übergebenen Arrays bei unterschiedlichen Sampleraten und Wartezeiten angeschaut. Ich führe mit jedem Schleifendurchlauf eine Abfrage der im Messystem befindlichen Werte durch, wenn die Wartezeit zu kurz ist, ist der Speicher halt leer und die Antwort ist dem entsprechend NaN. Wobei das noch nicht alles zu sein scheint, ich habe den Eindruck, dass das Messystem intern eine Mindestgröße des auzugebenen Arrays festlegt und es es zur Abfrage freigibt wenn die Mindestgröße erreicht ist. (Kann dem so sein?)

Insofern muss ich die schauen, dass ich die Abfrage anders takte als die Wartezeit der Schleife insofern ich bei 1 ms Sekunde bleibe.

lex et ordo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2021, 07:07 (Dieser Beitrag wurde zuletzt bearbeitet: 18.05.2021 07:07 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Aus Waveform stabilen Double erzeugen

Akzeptierte Lösung

Hallo Titus,

Zitat:wenn die Wartezeit zu kurz ist, ist der Speicher halt leer und die Antwort ist dem entsprechend NaN.
Dann hat meine Glas1 wieder korrekt gearbeitet… (Frisch kalibriert! Big Grin)

Zitat:Wobei das noch nicht alles zu sein scheint, ich habe den Eindruck, dass das Messystem intern eine Mindestgröße des auzugebenen Arrays festlegt und es es zur Abfrage freigibt wenn die Mindestgröße erreicht ist. (Kann dem so sein?)
Das musst du im Manual zum DAQ-System nachlesen. Oder den Hersteller fragen!
Wenn es NI-Hardware wäre, dann könnten dir hier mehr Leute darauf antworten…

Zitat:Insofern muss ich die schauen, dass ich die Abfrage anders takte als die Wartezeit der Schleife insofern ich bei 1 ms Sekunde bleibe.
Mir stellt sich die Frage, warum du auf einem Windows-Rechner soviel Wert auf diese 1ms Taktzeit dieser Schleife legst!?
Das ist und bleibt unrealistisch (um nicht zu sagen "Blödsinn")!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2021, 08:32
Beitrag #5

Titus85 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Jul 2014

2019
2014
DE


Deutschland
RE: Aus Waveform stabilen Double erzeugen
(18.05.2021 07:07 )GerdW schrieb:  Mir stellt sich die Frage, warum du auf einem Windows-Rechner soviel Wert auf diese 1ms Taktzeit dieser Schleife legst!?
Das ist und bleibt unrealistisch (um nicht zu sagen "Blödsinn")!

Das hatte ursprünglich mal den Hintergrund, dass ich initial mit ereignisbasierten CAN-Nachrichten gearbeitet habe und die Übertragungszeit der schnellsten Nachricht 1 ms betrug. Mittlerweile sind diese zyklisch und somit nicht mehr abhängig, aber durch die Wartezeit bin ich auf diesen Umstand aufmerksam geworden und wollte dann wissen wie dieses Zusammenspiel funtioniert. Insofern hab ich wieder was gelernt und bin froh.

Mal wieder vielen Dank für Deine Hilfe Gerd. :-)

lex et ordo
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
  1D Array in Double 64 Bit Reell Umwandeln SantaKrass 1 4.959 21.04.2011 16:47
Letzter Beitrag: Lucki
  Schleife Verzögern für stabilen Takt Movie 3 4.422 03.08.2009 07:56
Letzter Beitrag: Movie
  Mischspannung erzeugen (AC Waveform + DC-Anteil) Darkwolf359 4 10.802 12.04.2007 19:09
Letzter Beitrag: dc6xs

Gehe zu: