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!
ist es möglich aus einem eingehenden Temperatursignal die Steigung zu berechnen?
Genauer gesagt, wenn ich mir die Temperatur auf einem Graphen ausgeben lasse, erhalte ich eine ansteigende Kurve, bis sich die Temperatur auf einen konstanten Wert einstellt und sich nicht mehr ändert (von Schwankungen im 0,x°C-Bereich mal abgesehen). Ist es möglich die Steigung dieses Signals zu berechnen? Wenn ja, wie?
' schrieb:PS: ich hoffe das Topic ist richtig hier
Nee... das hat nix mit dem App.Builder zu tun. Wie kommst du darauf?
So ähnlich, vielleicht kannst du dir was ab...
...guckst du hier: LVF-Link
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
' schrieb:Genauer gesagt, wenn ich mir die Temperatur auf einem Graphen ausgeben lasse, erhalte ich eine ansteigende Kurve, bis sich die Temperatur auf einen konstanten Wert einstellt und sich nicht mehr ändert (von Schwankungen im 0,x°C-Bereich mal abgesehen). Ist es möglich die Steigung dieses Signals zu berechnen? Wenn ja, wie?
Mach dir zwei Cursor in den Graphen. Markiere damit den Bereich wo die Kurve ansteigt. Dann den markierten Bereich aus dem gesamten Signal ausschneiden und in folgendes VI reinschmeißen: Mathematik -> Anpassung -> Lineare Anpassung. Das VI spuckt unter anderem die Steigung aus.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Steigung ist doch dy/dt, Mit dt=1 wird daraus y2-y1, also einfach aktueller Wert - vorhergehender Wert. Kann man mit einem Shiftregister sehr leicht erledigen.
Oder, wenn du Arrays verwendest ("auf einem Graph ausgeben"), halt per Subtraction mit einem um einen Index verschobenen Array...
Danke für die schnellen Antworten und fürs verschieben
Mein Problem ist dass ich ned 5 Messwerte dafür benutze sondern eher 1000 und dann eben immer aus der Differenz von aktueller Messwert - (Aktueller - 1000) meine Steigung haben will.
Das mit dem Graphen, was dimitri geschrieben hat, hört sich gut an.
Wie kann ich den den Bereich markiernen mit den beiden Cursor?
Das ganze muss während laufender Datenerfassung passieren, also ned Graph erstellen und anschließend auswerten, sondern während sich der graph ändert muss im Hintergrund immer die aktuelle Steigung in einem gewissen Bereich mitberechnet werden.
Das ganze soll nämlich als Weiterschaltbedingung für mein Programm dienen.
mfg pat
EDIT:
Wie kann ich auf der X-Achse einstellen, wie groß mein angezeigter Wertebereich ist? Im Moment zeigt er mir die letzten 100 Werte, aber das ist definitiv zu wenig
Anzeige
29.04.2010, 11:28 (Dieser Beitrag wurde zuletzt bearbeitet: 29.04.2010 11:30 von GerdW.)
du hast also ein Array mit Messwerten, willst davon den aktuellen Messwert und den von vor 1000 Messungen nehmen und die Steigung daraus berechnen?
Also einfach ein IndexArray mit 2 Eingängen und die Ausgangswerte subtrahieren? (Evtl. noch die Zeit dazwischen einrechnen, um eine echte Steigung dy/dt zu erhalten...)
Edit:
Arbeitest du nun mit einem Graphen (siehe erstes Post) oder mit einem Chart ("zeigt er mir die letzten 100 Werte")? Ist schon wichtig, über was wir hier reden... (Jetzt kommt, glaub ich, der Punkt, an dem du ein Beispiel-VI anhängen solltest!)
den Graph hab ich benutzt, nach dem dimitri mich darauf gebracht hat, weil ich dachte, dass es so einfacher geht. Allerdings habe ich den Graph nur benutzt, um meine Messwerte sichtbar / besser darstellbar zu machen.
Ich weis nicht wie es am sinnvollsten und einfachsten ist, die Steigung aus meinen Messwerten zu erhalten.
Ausgangsstellung zum Verständnis meines Problems:
Ich bekomme fortlaufend Werte, aus denen die Steigung der letzten 1000 Werte / 5mins (egal hauptsache über einen aussagekräftigen Zeitraum, also ned nur 5 Werte) ermittelt wird, aber erst wenn ein gewünschter, vorher definierter Wert der Steigung (eher sehr klein, da eine konstante Temp. gewünscht ist) erreicht wird, kann mit dem Programm fortgefahren werden.
Wenns mit dem Array einfacher/praktischer ist, mach ichs auch gern so, ich bin für alles offen
Danke für die Hilfe
mfg pat
(das is schon die SP1, weis ned ob das was ausmacht)
' schrieb:Ich bekomme fortlaufend Werte, aus denen die Steigung der letzten 1000 Werte / 5mins (egal hauptsache über einen aussagekräftigen Zeitraum, also ned nur 5 Werte) ermittelt wird, aber erst wenn ein gewünschter, vorher definierter Wert der Steigung (eher sehr klein, da eine konstante Temp. gewünscht ist) erreicht wird, kann mit dem Programm fortgefahren werden.
Ich wollte schon fragen ob das ganze offline passiert oder beim Erfassen selbst. Da es nicht offline passieren soll, ist der Vorschlag mit den Cursorn natürlich nichtig.
Ich hab leider kein lv2009, um das VI anzuschauen und einen passenden Vorschlag zu machen. Unter Umständen musst du dir einen Ringpuffer bauen, da reichen vielleicht nicht einfach nur ein paar shiftregister. An dem VI "Lineare Anpassung" würde ich aber festhalten.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Also wenn die Soll-Temperatur bekannt ist, dann wäre das hier LVF-Link vielleicht etwas für dich.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!