Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: messfehler aus messreihe filtern

  1. #1
    Registriert seit
    13.03.2007
    Ort
    Nürnberg
    Beiträge
    563
    Danke
    56
    Erhielt 51 Danke für 46 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ahoi edle Mathematiker !
    mir fehlt eine zündende idee:

    Das Problem:
    Eine Welle wird von 0 auf 359 Grad gedreht. Ein Lasersensor misst dabei den Absand vom Sensor zur Welle.
    Ich muss herausfinden wie Unrund (Schlag) das ganze ist.
    Ich speichere also den kleinsten und größten Wert, dazu den betreffenden Winkel.

    Es würde funktonieren wenn nicht gelegentlich ein Partikel auf der Welle so arg spiegelt dass der Messwert nicht nutzbar ist.

    Reale Werte:
    0, 15, 30, 45 .. Grad:
    Messwert dazu
    10, 12, 14, 32, 18, 20, 22, 5, 20, 18, 16, 14, 12, 10

    Wie kann ich die "unrichten" 32 und 5 herausfiltern.

    In einer anderen Welle sind die Werte:
    4, 8, 12, 16, 20, 3, 28, 32 36, 32, 28, 44, 20, 16, 12, 8, 4
    Die "unrichten" sind hier: 3 und 44

    Die Welle dreht kontinuierlich, die Werte werden dabei zyklich gelesen.

    Einen Filter der von den letzten 3 Werte nur den Schnitt der 2 nähersten niimmt, habe ich bereits drin.
    Nutzt aber nur wenig. Ich könnte 2 oder 3 mal hintereinander auf so ein Partikel treffen.

    Von den Wellen kann der Schlag von 0,001 mm bis 0,250 mm sein.
    Die Dicke der Welle ist 4 mm. Soll aber auch mit 6 mm funktonieren.

    Die Welle gilt als gerade wenn der Schlag unter 0,020 mm ist.

    Der Sensor ist auf 0..4 mm Parametriert und liefert 4..20mA in eine S7 Analog-Baugruppe mit 13 Bit alle 2ms.

    Die Messung läuft im OB 35 alle 10 ms.

    Any Hints?
    Geändert von Senator42 (14.07.2012 um 17:04 Uhr) Grund: Vertpiser
    Kabelsalat ist Gesund
    (vom CCC abgekupfert)

    Prognosen sind schwierig,
    besonders wenn sie die Zukunft betreffen.
    (Ursprung nicht wirklich bekannt)


    Zitieren Zitieren messfehler aus messreihe filtern  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Hallo,

    Es würde funktonieren wenn nicht gelegentlich ein Partikel auf der Welle so arg spiegelt dass der Messwert nicht nutzbar ist.
    Ich würde dort ansetzen. Kannst du mit der Beleuchtung etwas ausrichten? Oder vllt. einen 2. Sensor?

  3. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Was du da schon programmiert hast dürfte einem Medianfilter entsprechen, eigentlich ist das für Ausreißer ganz gut geeignet.

    Für die Messwertreihe:
    10, 12, 14, 32, 18, 20, 22, 5, 20, 18, 16, 14, 12, 10

    gäbe das bei einem Median über 3 Werte:
    1: ??, 10, 12 -> 10
    2: 10, 12, 14 -> 12
    3: 12, 14, 32 -> 14
    4: 14, 18, 32 -> 18
    5: 18, 20, 32 -> 20
    6: 18, 20, 22 -> 20
    7: 5, 20, 22 -> 20
    8: 5, 20, 22 -> 20
    9: 5, 18, 20 -> 18
    usw.

    Wenn zwei Ausreißer hintereinander kommen ist der Median über 3 Werte zu wenig und muss erweitert werden.

    Ob das für deinen Anwendungsfall das richtige ist? Denn die Ausreißer sind doch eigentlich ungültige Messungen.
    Ist die Frage wie du mit deinen Augen in den Werten die bestimmte Werte als Ausreißer feststellst? Wahrscheinlich ist es doch so, dass es bei einer Welle nicht möglich ist dass der Schlag einen bestimmten Wert zum vorigen Wert überschreitet. Ich würde die Werte dann einfach als ungültig annehmen. Wenn du viele ungültige Messwerte hintereinander reinkommen, ist keine vernünftige Messung mehr möglich.

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Eine andere Möglichkeit wäre, die Messreihe zu glätten. Hierbei könnte man z.B. zu jedem Wert den (die) Vorgänger und den (die) Nachfolger addieren, durch die Anzahl der jeweiligen Werte dividieren und an der Index-Position wieder speichern.

    Dann ergäbe das für die Beispielwerte :
    10, 12, 14, 32, 18, 20, 22, 5, 20, 18, 16, 14, 12, 10
    in der Wandlung :
    10 , 12 -> 11 (1.Wert)
    11 , 12 , 14 -> 12 (2.Wert)
    12 , 14 , 32 -> 19 (3.Wert)
    19 , 32 , 18 -> 23 (4.Wert)
    usw.

    Eine höhere als die von mir im Beispiel verwendete Glättung würde den Peak noch stärker "rausbügeln" ohne dabei aber zu starken Einfluß auf den Verlauf der Kurve zu haben ...

    Gruß
    Larry

  5. #5
    Registriert seit
    01.09.2008
    Ort
    Berlin
    Beiträge
    172
    Danke
    51
    Erhielt 51 Danke für 44 Beiträge

    Standard

    Hi,

    wenn ich die genau Anforderungen an die Prüfung (Schlag bei >0,020mm) anschaue halte ich es für "kritisch" die Werte zu glätten. Dadurch werden die Messwerte unnötig verfälscht (je mehr Ausreißer auftreten, desto kritischer wirkt sich das aus). Was zu einer Fehleinschätzung führen könnte.

    Spontan würde ich wie folgt vorgehen:

    -> den Schlag der Welle eine gewisse Symmetrie unterstellen (ist in den Vorliegenden Messdaten erkennbar) und darauf hin die Messreihe nach n/2 aufteilen (sie beginnt ja meist bei den kleinsten wert. wenn nicht demnach ausrichten)

    10, 12, 14, 32, 18, 20, 22
    5, 20, 18, 16, 14, 12, 10

    -> unterste Messreihen spiegeln:

    10, 12, 14, 32, 18, 20, 22
    10, 12, 14, 16, 18, 20, 5

    -> Messreihen zusammenfassen:

    10, 10, 12, 12, 14, 14, 32, 16, 18, 18, 20, 20, 22, 5

    -> daraus mittels linearer Regression eine Näherungsgrade berechnen und jeweils die Abweichung der einzelnen Messpunkte feststellen. Die Differenz aus dem Mittelwert der Abweichung und der Abweichung eines einzelnen Messpunktes sollte gut auskunft über einen Ausreißer geben.

    Hier zwei rustikale Näherungsgraden für die Messreihen (wenn man die Berechnung selbst programmiert kann man dies noch verfeinern und die jeweils zusammengehörigen Messwerte z.b. 10 und 10, 12 und 12 usw. auf ein gemeinsames Argument legen):

    MSP4301a2848d81691e93b00001df717d4776i3a4g.gifMSP41331a283i6cgdchcd2d00003ac25h55096856c1.gif
    -> die so gefundenen Ausreiser kann man dann aussortieren und hat die (wahrscheinlich) unverfälschten Messwerte übrig


    PS: gibt natürlich noch Aufwändigere Verfahren. Aber ich denke das wäre ein guter Mittelwert. Ich würde es auf alle Fälle mal probieren.

  6. #6
    Registriert seit
    13.03.2007
    Ort
    Nürnberg
    Beiträge
    563
    Danke
    56
    Erhielt 51 Danke für 46 Beiträge

    Standard

    Das sind schon ein paar gute Ansaätze.

    Ergänzung:

    Das Material kommt aus dem Härteofen, fällt ich einen "Eimer", vor dort wird es in meine "Richtmaschine" gekippt, erst danach geht es zum Schleifen und Polieren.

    Die Messreiche beginnt nicht beim kleisten oder größten Wert.

    Messfehler.jpg

    Die Zacken sollen einfach aus der Krone raus. Der Zacken kann auch die nächsteb 2,3,4 Werte in reihe kommen.
    Der Mensch kann das sehr einfach erkennen. Mein Proggi nicht.
    Geändert von Senator42 (14.07.2012 um 21:07 Uhr)
    Kabelsalat ist Gesund
    (vom CCC abgekupfert)

    Prognosen sind schwierig,
    besonders wenn sie die Zukunft betreffen.
    (Ursprung nicht wirklich bekannt)


    Zitieren Zitieren Grafik  

  7. #7
    Registriert seit
    22.03.2009
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo zusammen,
    was haltet ihr von dem Gedankenspiel, den jeweilig neuen Messwert mit dem vorhergehenden zu vergleichen. Überschreitet der neue Wert eine gewisse Abweichung zu seinem Vorgänger, ist er ungueltig und wird nicht in die Messreihe aufgenommen.

    Ich könnt mir vorstellen dass dieser Ansatz nicht so schlecht funktionieren wird, weil es sich ja um eine drehende Welle handelt, bei welcher wie weiter oben zu sehen ein Sinus resultiert....

    Ist nur ein Gedankenspiel....


    Ich könnte mir auch vorstellen den ungueltigen Messwert aus mehreren seiner Vorgänger zu interpolieren über eine Geradenfunktion....
    Geändert von hardwarekiller (14.07.2012 um 23:25 Uhr)
    mfg

    HWkiller

    ___________________________________________________________________
    S7-317T, Sinamics CU320
    , Micromaster, 840Dpl, 840Dsl,WinCCflex, Transline


  8. #8
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Es gibt noch ein anderes Verfahren welches eigentlich aus der Auswuchttechnik kommt. Evtl. könnte das bei dir auch funktionieren, denn die Grundschwingung dürfte bekannt sein. Wenn ich das richtig sehe braucht deine Richtmaschine die Amplitude (wie stark ist die Welle verbogen) und den Phasenwinkel (wo).
    Bei Auswuchtmaschinen gibt es dazu das sog. Wattmeterverfahren. Dabei wird das Messsignal mit einem Referenzsignal multipliziert, Mittelwerte gebildet usw.
    Ich habe hier ein Buch zur Auswuchttechnik in dem das erläutert ist - allerdings nur mathematisch (sicher was für pat ). Bei Interesse kann ich die 2 Seiten mal einscannen/abfotografieren.

  9. #9
    Registriert seit
    01.09.2008
    Ort
    Berlin
    Beiträge
    172
    Danke
    51
    Erhielt 51 Danke für 44 Beiträge

    Standard

    Also durch das Bild stellt sich die Aufgabenstellung für mich etwas anders dar.
    Vielleicht fehlen auch noch ein paar weitere Informationen.

    Mit fällt dazu als Denkanstoß ein:

    -> der Vergleich oder das Zusammenrechnen (Mittelwert) benachbarter Messerwerte ist besonders bei aufeinanderfolgenden Fehlwerten kritisch
    -> wenn man stückweise Interpolieren möchte sollte eine Abbruchbedingung existieren die bereits eine gewisse Anzahl aufeinanderfolgender Fehlwerte toleriert bzw. erkennt.
    -> Man könnte die Periode zweiteilen und durch lineare oder besser quadratische Regression eine gemittelte Funktion bilden und damit die Ausreißer finden (bei linearer Regression werden kleine Ausreißer in den Scheiteln sicherlich nicht genügend erkannt, bei quadratischer könnten eventuell sehr kleine Ausreißer in den "Nulldruchgängen" des Sinus nicht erkannt werden)
    -> es ist auch eine Sinus Regression denkbar, wobei man immer betrachten sollte das die Messwerte keinen idealen Sinus (Kreis) bilden, sondern um den gesuchten Schlag abweichen
    -> wenn man die Kennwerte der Sinnusschwingung vertrauenswürdig ermitteln kann könnte man entweder die Korrelation zum idealen Verlauf oder alternativ die jeweilige maximale Änderung zwischen zwei Messungen errechnen
    -> weiter sind auch digitale Filter denkbar (die nicht zu stark auf eine Mittelwertbildung aufbauen sollten)
    -> die Verfahren aus der Auswuchttechnik sind sicher auch äußerst interessant
    -> wichtig ist sicher erstmal ein Toleranzband und eine maximale Anzahl an Ausreißer festzulegen umd einzuschätzen ob die Messung dann überhaupt verwertbar ist


    Eine Ferndiagnose ist aus meiner Sicht nicht ganz so einfach möglich.

    EDIT: Es ist doch zu erkennen, dass in der folgenden Periode die Ausreißer an einer anderen Stelle sitzen, wie wäre es einfach zwei Perioden miteinander zu vergleichen? (mal als Anfang)
    Geändert von ebt'ler (15.07.2012 um 10:44 Uhr)

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    es gäbe dann auch noch die Möglichkeit, die von mir vorgeschlagene Glättung von den original aufgezeichneten Werten zu subtrahieren. Als Ergebnis erhältst du dann die Peaks in (mehr oder weniger) Reinform - wenn du davon dann ggf. noch die Absolutwerte nimmst hast du deine Ausreisser dann sogar als positven Wert.. Für eine andere Messaufgabe habe ich so etwas schon mit gutem Erfolg gemacht.

    Gruß
    Larry

  11. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    ebt'ler (15.07.2012)

Ähnliche Themen

  1. Analogeingang filtern?
    Von tyr777 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 19.06.2012, 22:21
  2. Genauigkeit / Messfehler
    Von toto45 im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 09.12.2011, 15:39
  3. Durchflussmesser mit niedrigem Messfehler gesucht
    Von ralfsps im Forum Suche - Biete
    Antworten: 7
    Letzter Beitrag: 02.10.2010, 21:15
  4. Referenzdaten Filtern
    Von Thomas R im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 28.01.2010, 09:29
  5. Systemmeldungen filtern
    Von Günni1977 im Forum HMI
    Antworten: 11
    Letzter Beitrag: 12.08.2008, 13:32

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •