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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Filter für analoge Ausreißer

  1. #1
    Registriert seit
    09.11.2006
    Beiträge
    693
    Danke
    36
    Erhielt 31 Danke für 29 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich brauche einen Filter für analoge Eingänge eines Messrades. Grund wenn die Anlage das Werkstückschneidet kommt es zu einen Peak und oder Einbruch des Analogwertes.

    Da anhand des Eingagswertes weitere Prozesse gesteuert werden kommt es zu fehlfunktionen.

    Nun möchte ich diese Ausreißer durch eine Art Filter dämpfen.
    Hat jemand eine Idee??
    Habe es mit einem Schieberegister versucht und 10 Einträge die im 100ms Takt geschrieben werden. Aus diesen 10 Werten wird ein Mittelwert gebildet.

    Aber so Richtig hat das nichts gebracht.
    Zeige nie deine Verblüffung, wenn dir etwas auf Anhieb gelingt.

    Praxis: Es funktioniert aber keiner weiß warum!
    Zitieren Zitieren Filter für analoge Ausreißer  

  2. #2
    Registriert seit
    01.01.2009
    Ort
    Niedersachsen
    Beiträge
    813
    Danke
    180
    Erhielt 79 Danke für 75 Beiträge

    Standard

    Hallo,

    hast du noch etwas genauere Infos?

    Wie groß sind die Peaks?
    Wie schnell ändert sich der Analogwert im Normalfall? (Wie stark darf gedempft werden?)

    Anscheinend hast du ein EMV-Problem.
    Evt. hast du dieses Problem nicht, wenn alles in Bezug auf EMV super ist.
    Gruß Jan

    Wer fragt, bekommt Antworten.

  3. #3
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard

    Gegen kurze, extrem hohe Spitzen hilft einfach nur 'ne Zeit.

    Oder du machst dir die Mühe die Steigung zu berechnen und korrigierst dann die Kurve mit Ersatzwerten.

  4. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    ich würde in diesem fall einfach alles wegfiltern was außerhalb der spec liegt und aber zählen wie oft das passiert und einen grenzwert bilden...

    ...btw: es muß kein emv-problem sein, manche messungen machen sich einfach, auf grund der abtastrate selbstständig und fliegen bei nicht erkanntem objekt durch die gegend
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    Jan (21.01.2011)

  6. #5
    Registriert seit
    11.07.2009
    Beiträge
    175
    Danke
    20
    Erhielt 34 Danke für 26 Beiträge

    Standard

    Hallo,
    zum Glätten von Analogwerten nimmt man ein PT1-Glied (Lag-Glied).

    Sieh Dir einmal den FB80 (Lead-Lag-Convert) im Simatic-Manager an.
    Noch besser ist der FB9 (Lag1FST). Dieser Baustein ist aber nur in der käuflich zu erwerbenden Bibliothek Modular PID von Siemens enthalten.

    Du kannst Dir dieses PT1-Glied aber auch selber schreiben. Die Realisierung funktioniert über eine Rekursion des Einganges mit den Werten der Abtastung aus dem vorherigen Zyklus (Umsetzung der Differentialgleichung für ein PT1-Glied in eine Differenzengleichung). Hierzu kannst Du einmal im Internet suchen oder Du mußt Dich noch einmal melden.

    Gruß Frank

  7. #6
    Registriert seit
    04.01.2007
    Ort
    Euskirchen
    Beiträge
    136
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard

    Zitat Zitat von knarf Beitrag anzeigen
    zum Glätten von Analogwerten nimmt man ein PT1-Glied (Lag-Glied)
    ....
    Du kannst Dir dieses PT1-Glied aber auch selber schreiben.
    Ich habe mir dazu folgenden einfachen FB geschrieben, vielleicht ist sowas ja von Interesse (er hat ausserdem noch eine Nullpunktverschiebung für den Eingang, ich brauchte sowas damals gerade ...)
    Code:
    FUNCTION_BLOCK "SMOOTH"
    TITLE =Smooth
    //Smooth function for integers
    //rout = (fact*real(in-null)) + ((1-fact)*rout)
    //out=int(rout)
    AUTHOR : MMarx
    NAME : SMOOTH
    VERSION : 0.1
    
    
    VAR_INPUT
      IN : INT ;    //Input 16 bit
      NULL : INT ;    //zero point correction
      FACT : REAL  := 1.000000e-001;    //Factor Real
    END_VAR
    VAR_OUTPUT
      OUT : INT ;    //Output 16 bit
    END_VAR
    VAR
      ROUT : REAL ;    //stored real value
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    
    
          L     1.000000e+000; 
          L     #FACT; 
          -R    ; 
          L     #ROUT; 
          *R    ; 
          T     #ROUT; 
    
          L     #IN; 
          L     #NULL; 
          -I    ; 
          ITD   ; 
          DTR   ; 
    
          L     #FACT; 
          *R    ; 
          L     #ROUT; 
          +R    ; 
          T     #ROUT; 
          RND   ; 
          T     #OUT; 
    
    
    END_FUNCTION_BLOCK
    Wenn die Glättung auch mathematisch einigermassen korrekt sein soll, so muss der Aufruf im Zeit-OB erfolgen, aber mir reicht (zur Glättung) in der Regel der normale Aufruf im Zyklus. Als Einstellwert für FACT sind Werte im Bereich 1E-2 bis 5E-1 sinnvoll (ich verwende meist 1E-1 d.h. 0,1 für "normale" Glättungsaufgaben).

    Gruß Michael aka Dumbledore

  8. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ... ich würde hier vielleicht (wegen der großen Ausreisser) eher den Vorschlag von Vierlagig weiter verfolgen ...

    Gruß
    Larry

  9. #8
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    ... ich würde hier vielleicht (wegen der großen Ausreisser) eher den Vorschlag von Vierlagig weiter verfolgen ...

    Gruß
    Larry
    danke, das baut mich auf

    vielleicht ist abschalten der messung bei bestimmten vorgängen auch eine möglichkeit? wenn geschnitten wird den wert einfrieren ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #9
    Registriert seit
    26.01.2010
    Beiträge
    181
    Danke
    5
    Erhielt 30 Danke für 25 Beiträge

    Standard

    Ich würd den Mittelwert der letzten 10 oder 20 Messungen bilden und mir einen Grenzwert für den Peak definieren.

    Geht der Peak über den Grenzwert, dann verwende den Mittelwert für den aktuellen Zyklus als Steuerwert und Zähle diese Grenzwertverletzung.

    Kommt dies Situation in x Sekunden x mal vor, dann liegt ne Störung an.

  11. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Dr.M:
    Das wäre ja im Grunde der gleiche Vorschlag wie der von 4L ...
    Ganz grundsätzlich bekommt man große Ausreisser nur weggeglättet (oder -gefiltert) wenn man sie gegen viele andere (normale) Werte stellt - oder man ignoriert sie oder man bewertet sie seperat ...

    Gruß
    Larry

Ähnliche Themen

  1. Sensoren Filter
    Von Blackdriver im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 04.11.2011, 16:05
  2. Intouch 10.1 Trend Filter
    Von klauserl im Forum HMI
    Antworten: 0
    Letzter Beitrag: 18.11.2010, 09:40
  3. Ein Spül-FC (FB) für 10 Filter
    Von DerTheo im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 01.10.2009, 17:19
  4. Filter
    Von Gerd1994 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.07.2009, 16:47
  5. Filter im UserArchiv setzen
    Von ottopaul im Forum HMI
    Antworten: 3
    Letzter Beitrag: 20.07.2006, 19:14

Lesezeichen

Berechtigungen

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