Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Extremwerte bei Live-Messung detektieren

Aczede
2009-11-17
2009-11-17
  • Aczede - 2009-11-17

    Hallo!

    Ich habe folgendes Problem: ich möchte wie in der Abbildung aufgeführt die Extrema einer Live Messung online detektieren (und danach ein Bool'sches Signal auslösen (Max := True...usw.).

    Allerdings weiss ich nicht recht wie ich dies machen soll. Ich hatte einen gradienten über Zeit gebildet (wie man das aus der Schule kennt) und habe da versucht die richtigen 0-Werte zu finden. Leider ist mein Signal schwingend, d.h. das was man auf der Abbildung als Linie sieht, ist in wirklichkeit eine kleine Schwingungslinie. Leitet man das ab, so hat man immer eine Schwingung die um 0- herumschwingt.

    Meine Idee nun: Ich bräuchte eine Funktion die drei werte Miteinander vergleicht (A1,A2,A3)....wobei A1 und A2 die letzten zwei Werte im Abstand von z.b. 2 ms aufgenommen wurden. Durch die drei Werte soll nun eine Tangente gebildet werden. Ist die Steigung dieser Tangente =0, so ist bei dem zugehörigen Wert A2 der Extrempunkt. Man müsste da sicherlich Vorfaktoren bestimmen um einen Schwingungsanteil zu kompensieren, aber das würde ich schon selbst hinbekommen.

    Leider habe ich zu wenig Erfahrung um so was zu programmieren. Ich würde mich sehr über Ratschläge freuen.

    Vielen Dank im Voraus,

    Aczede

    IMG: Bild1.jpg

     
  • McNugget2000 - 2009-11-17

    Hallo Aczede.

    Ich sehe das Hauptproblem darin, dass Du mehrere maxima und minma hast, die unter, bzw. über dem vorigen Max-Min-Wert liegen.

    Das heisst, du willst nur die relativen "Ausreisser" erkennen.

    Ein Weg wäre ein Array, das einen Mittelwert aus den letzten x-Werten bildet und bei Abweichungen nach oben oder unten vom Mittelwert grösser Y ein Ereignis auslöst.

    Zum Thema Array könntest Du mal auf die OSCAT.de schauen. Dort gibt es tolle Hilfen und die Quellcodes sind einseh- und editierbar.

    Gruss

    McNugget

     

Log in to post a comment.