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 

Signal Integral Maximalwert ermitteln



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!

09.06.2016, 14:42
Beitrag #1

Yilhak Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: May 2016

2014
2015
EN



Signal Integral Maximalwert ermitteln
Hallo Leute,

ich habe folgendes Problem:
Für meine Bachelorarbeit muss ich ein Programm schreiben, dass über die COM-Schnittstelle mir die Werte liefert und gleichzeitig ein Füllstandssensor.
Sinn: Auf der Präzisionswaage liegt eine Eimer voll mit Wasser und durch eine kleine Wasserpumpe wird der Inhalt ganz langsam hochgepumpt. Dann soll es in ein Behälter reingeflossen werden, wo auch der Füllstandssensor drinsitzt und kontinuierlich misst -> siehe Skizze1. Entleert sich der Behälter selbstständig (durch die Kapillarwirkung; Siphon-Effekt) sinkt meine Signalkurve nach unten.

Soweit so gut! Diese Funktion habe ich noch hinbekommen.

Jetzt meinte mein Professor, dass wir 1. die Füllstandsintensität [mm/min] und 2. Gesamtwassermenge über die Zeit messen müssen. Da ich Anfänger bin in LabView habe ich ehrlich gesagt keine Ahnung wie ich das machen könnte.

Meine Idee: Ich integriere mein Signal nd kriege damit ständig nur Signale mit einer positiven Steigung! Das funktioniert klasse! Das Problem ist aber nur, wenn mein Behälter halbvoll ist und kein Wasser mehr zufließt, steigt mein Integral-Signal konstant weiter "in der Ruhe" (Integral=>Fläche unterhalb des Signals)

Also dachte ich mir, ich baue eine if-Funktion ein in Labview, wo es gerade hängt bei mir:
WENN Steigung(konnte ich auch noch programmieren) = 0 DANN Integral*0+Max.IntegralSignal
->siehe Foto2 ich habe es auf ein Blatt draufgeschrieben - und muss es jetzt in Labview umsetzen

Fragen: 1. Diese Funktion in Labview umsetzen ->siehe foto2
2.max Wert des Integrals feststellen und kontinuierlich messen (damit bei jeder waagerechten Kurve mein Integral_Signal ebenso waagerecht verläuft und nicht steigt).

VIELEN DANK!!! (UND BITTE HILFT MIR Big Grin


Angehängte Datei(en) Thumbnail(s)
       

14.0 .vi  Sensor_Gesamtmenge_Intensitat.vi (Größe: 131,75 KB / Downloads: 177)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.06.2016, 16:49 (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2016 16:50 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signal Integral Maximalwert ermitteln
Hallo Yilhak,

Zitat:Ich integriere mein Signal nd kriege damit ständig nur Signale mit einer positiven Steigung! Das funktioniert klasse!
Dann ist doch alles gut!?

Zitat:Das Problem ist aber nur, wenn mein Behälter halbvoll ist und kein Wasser mehr zufließt, steigt mein Integral-Signal konstant weiter "in der Ruhe" (Integral=>Fläche unterhalb des Signals)
Das Integral berechnet die Fläche unter einer Kurve. Deine Kurve ist immer im positiven Bereich. Das Integral wächst also immer weiter mit der Zeit.
Wo ist das Problem? Die Berechnung ist doch korrekt!?

Zitat:Also dachte ich mir, ich baue eine if-Funktion ein in Labview, wo es gerade hängt bei mir:
Wie wäre es, wenn du statt des Integrals über den immer positiven Füllstand ein Integral über die zugeflossene Menge das Wassers berechnest?
Die zugeflossene Menge Wasser ergibt sich aus "Füllstand_aktuell - Füllstand_vorher" (und entspricht deiner Ableitung)…

Zitat:2.max Wert des Integrals feststellen und kontinuierlich messen (damit bei jeder waagerechten Kurve mein Integral_Signal ebenso waagerecht verläuft und nicht steigt).
Abgesehen davon, dass ein Integral auch bei gleichbleibendem (positivem) Füllstand immer weiter anwachsen wird, wirst du auch Probleme haben eine "waagerechte" Kurve zu messen: dein Sensor und dein Messgerät rauschen…

Zum VI:
- Etwas weniger ExpressVIs wären hilfreich.
- Immer wenn CoercionDots in deinem VI auftauchen, solltest du dich fragen, ob das Ergebnis deiner Programmierung noch korrekt ist!
- Zugriffe auf die serielle Schnittstelle in einer TimedWhileLoop zu erledigen ist nicht sinnvoll. TWLs sind unter Windows generell überbewertet!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2016, 12:18
Beitrag #3

Yilhak Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: May 2016

2014
2015
EN



Smile RE: Signal Integral Maximalwert ermitteln
Hallo GerdW,

DANKE für die Antwort!

Zitat:Wie wäre es, wenn du statt des Integrals über den immer positiven Füllstand ein Integral über die zugeflossene Menge das Wassers berechnest?
Die zugeflossene Menge Wasser ergibt sich aus "Füllstand_aktuell - Füllstand_vorher" (und entspricht deiner Ableitung)…
Bei der Entleerung haben wir ja auch einen bestimmten Zufluss. Nachdem man den Max.Wasserspiegel(y-achse) erreicht hat, hält der Zufluss ja nicht an. Es fließt weiterhin Wasser rein (=Signal auf der y-Achse muss auch bei der Entleerung also steigen).

Ich denke, dass es zwei Lösungswege gibt:

-1. Wie schon genannt, Integral v. Signal: Hier steigt meine Kurve auch bei der Entleerungsphase (Zeit,Fläche abhängig). Das Problem: wie schon GerdW. erwähnt hat:
Zitat:Abgesehen davon, dass ein Integral auch bei gleichbleibendem (positivem) Füllstand immer weiter anwachsen wird, wirst du auch Probleme haben eine "waagerechte" Kurve zu messen
Evlt. ein Zwischenspeicher des Max.Integral.Signals, "WENN Steigung=0, DANN Integral.Signal*0+Max.Integral.Signal -> "würde ich hier keine waagerechte Kurve kriegen?"
Ich wüsste aber nicht wie ich ein Max.Integral.Wert in mein if-case reinkriege. Anbei eine Labview Datei, ohne ein max.Integral.Wert (Sollte in die inneren if-Schleife bei TRUE->siehe Foto_1

-2. Extrapolation: siehe Foto_2
Problem: Ich habe aber keine Ahnung wie man das in Labview realisieren könnteBlush


Angehängte Datei(en) Thumbnail(s)
       

14.0 .vi  TestmitIf.vi (Größe: 134,23 KB / Downloads: 180)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2016, 13:50
Beitrag #4

Yilhak Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: May 2016

2014
2015
EN



RE: Signal Integral Maximalwert ermitteln
Ich habe grade ein wenig rumprobiert.. die 1. Lösung wird (denke ich) wirklich nicht funktionieren.
Die 2.Variante dürfte funktionieren - weiß jedoch nicht, wie ich das programmieren soll. Kann mir da jemand weiterhelfen? Mein Signal muss mit der positiven Steigung (kurz vor Entleerung) extrapoliert werden.

Nach der Extrapolation-> Integral vom ganzen Signal = Gesamtwassermenge, wenn ich das richtig verstanden habe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2016, 14:02 (Dieser Beitrag wurde zuletzt bearbeitet: 10.06.2016 15:17 von Yilhak.)
Beitrag #5

Yilhak Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: May 2016

2014
2015
EN



Signal Extrapolation
Ich habe grade ein wenig rumprobiert.. die 1. Lösung wird (denke ich) wirklich nicht funktionieren.
Die 2.Variante dürfte funktionieren - weiß jedoch nicht, wie ich das programmieren soll. Kann mir da jemand weiterhelfen? Mein Signal muss mit der positiven Steigung (kurz vor Entleerung) extrapoliert werden.

Nach der Extrapolation-> Integral vom ganzen Signal = Gesamtwassermenge, wenn ich das richtig verstanden habe.


Angehängte Datei(en) Thumbnail(s)
       

14.0 .vi  TTTTestprog.vi (Größe: 131,71 KB / Downloads: 161)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2016, 10:09
Beitrag #6

Yilhak Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: May 2016

2014
2015
EN



Signale addieren
Hallo Leute,

kann mir jemand sagen, wie man Signale addieren kann? Ich möchte die SUMME aller y-Werte (deltaY´s addieren, 1000ms gemessen) addieren. Steigt mein Signal, ADDIEREN, sinkt mein Signal, waagerechter Verlauf bzw. Wert/Höhe behalten -> s. Anhang.

Vielen Dank schonmal!


Angehängte Datei(en) Thumbnail(s)
   

14.0 .vi  AktuellExtrap_GH_neu_sek.vi (Größe: 107,24 KB / Downloads: 171)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2016, 10:23
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signal Integral Maximalwert ermitteln
Hallo Yilhak,

ich habe deinen Beitrag verschoben.
Das gehört doch noch immer zu dieser Fragestellung, oder?

Zitat:Steigt mein Signal, ADDIEREN, sinkt mein Signal, waagerechter Verlauf bzw. Wert/Höhe behalten -> s. Anhang.
Pseudocode:
Code:
IF y_neu > y_alt THEN
  signal_neu := signal_alt + x
ELSE
  signal_neu := signal_alt
ENDIF
Sieht nicht so schwer aus: eine Case-Struktur und Schieberegister…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2016, 10:43
Beitrag #8

Yilhak Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: May 2016

2014
2015
EN



RE: Signal Integral Maximalwert ermitteln
Hallo GerdW,

ist eigentlich dieselbe Aufgabenstellung NUR darf ich das nicht mit dem Max. Wert jedes mal addieren sondern mit den deltaY´s.
-Was heißt "+x" und wie gebe ich sowas ein?Blink Sorry

-Wenn ich "y_neu>y_alt"eingebe kommt ein Fehler.. Unterschiedliche Datentypen steht da... Kannst du es mir bitte in meine Labview Datei reinschreiben? Es geht um die Signale "SENSOR 2-Chart".

Danke!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2016, 13:59
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signal Integral Maximalwert ermitteln
Hallo Yilhak,

das oben ist nur PSEUDO-Code! Sowas muss man erst in die Programmiersprache seiner Wahl umsetzen…

Zitat:Was heißt "+x" und wie gebe ich sowas ein?
Du wolltest doch das hier machen:
Zitat:Ich möchte die SUMME aller y-Werte (deltaY´s addieren, 1000ms gemessen) addieren.
Genau das ist im Term "+ x" verdeutlicht…

Zitat:Kannst du es mir bitte in meine Labview Datei reinschreiben?
Hab gerade kein LV2014 zur Verfügung. Musst du selbst mal programmieren…

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
  Beim Sinus jeden Maximalwert pro Periode erfassen holographics 1 6.897 02.11.2009 22:05
Letzter Beitrag: jg
  Analog Signal und Counter Signal erfassen fiedl04 0 6.427 29.10.2009 11:58
Letzter Beitrag: fiedl04
  Maximalwert von Messung bestimmen c&m 4 8.260 11.06.2008 12:24
Letzter Beitrag: c&m
  Maximalwert bestimmen logitech1975 8 9.823 15.12.2007 11:44
Letzter Beitrag: logitech1975

Gehe zu: