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

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

Thema: Messfehler von Drehzahlerfassungen filtern

  1. #1
    Registriert seit
    11.08.2014
    Beiträge
    36
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich lese mit einer Task zwei Drezahlen ein. Ich erwarte dort Werte von [0...16] Hz.
    Durch Fehlmessungen kommt es manchmal vor, dass im Programm der Drehzahlwert über diesen Wertebereich springt.
    Wie kann ich eine schnelle Überprüfung zwischen dem Auslesen und dem Weiterverarbeiten zwischenschalten,
    die einfach schaut ob der eingelesene Wert valide ist.

    Ich hatte mir das folgendermaßen vorgestellt:

    [PSEUDOCODE]

    Code:
    IF AKTUELLE_RPM > 1.01*TEMP_RPM THEN
        // Fehlmessung:
        // Letzter gespeicherte Wert wird ausgegeben
    
    ELSIF AKTUELLE_RPM < 0.99*TEMP_RPM THEN
        // Fehlmessung:
        // Letzter gespeicherte Wert wird ausgegeben
    ELSE
        // Aktuelle Drehzahl ist im 10% Bereich des vorherigen Wertes
        TEMP_RPM := AKTUELLE_RPM;
    END_IF
    
    AUSGANG := TEMP_RPM;
    Wie kann ich das vielleicht einfacher mit einem Baustein realisieren?
    Ich bekomme leider durch die o.g. Lösung beim Aufstarten
    eine 0 in TEMP_RPM geschrieben. Und dann werden alle folgenden (validen)
    Drehzahlen nicht mehr in den Ausgang geschrieben.

    Gibt es eine schönere Lösung?
    Zitieren Zitieren Messfehler von Drehzahlerfassungen filtern  

  2. #2
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.221
    Danke
    235
    Erhielt 326 Danke für 299 Beiträge

    Standard

    1. Kleinigkeit: bei 10% solltest Du mit 1.1 multiplizieren und nicht mit 1.01
    2. Eventuell ist beim Starten des Antriebes die Differenz der Drehzahlen zu groß-> Anlaufüberbrückung einbauen. Man muss nur aufpassen, dass Dir nicht das gleiche Schicksal im Betrieb bei Sollwertänderungen passiert.

  3. #3
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.102
    Danke
    160
    Erhielt 169 Danke für 156 Beiträge

    Standard

    Wodurch werden denn die Fehlmessungen erzeugt? Ich meine eine stabile Messwerterfassung ist wichtiger als ein Workaround um damit umzugehen.
    Unter 10Hz favorisiere ich in der Regel eine Periodendauermessung.

    Edit: Abhängig von den rechnerischen Impuls/Pause-Verhältnissen bei digitaler Signalerfassung kann der Einsatz von Zählerkarten sinnvoll sein.
    Noch ein edit: Wie oft kommen die Messfehler vor? Eine gleitende Mittelwertbildung oder/und ein Tiefpass (PT1) könnten Ausreisser glätten.
    Geändert von weißnix_ (19.08.2016 um 07:17 Uhr)

  4. #4
    Registriert seit
    16.06.2016
    Beiträge
    5
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich hab bei einem ähnlichen Problem einen Counter mitlaufen lassen. Wenn mehr als X-mal in Folge korrigiert wurde, dann übernimm direkt den neuen Wert.

  5. #5
    Registriert seit
    11.08.2014
    Beiträge
    36
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich habe mal ein PT1 Glied zwischen Drehzahlerfassung und Drezahlverarbeitung eingefügt.
    Habe mich dazu von der Oscat Bibliothek bedient: FT_PT1

    Jedoch bekomme ich bei höheren Drehzahlen eher mal Fehlmessungen, die der Tiefpass nicht abdecken kann.
    Gibt es eine weitere Möglichkeit, Spitzen zu filtern?

    19-08-_2016_10-30-37.jpg

  6. #6
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.102
    Danke
    160
    Erhielt 169 Danke für 156 Beiträge

    Standard

    Darf ich nochmal die Frage wiederholen: Wie erfasst Du die Drehzahl?
    16Hz klingt nach einem 6poligen Motor mit einem Impuls pro Umdrehung.
    Wie sieht der Nocken aus? Was für einen Eingang benutzt Du an der SPS?
    Wie äußert sich der Fehler? Drehzahlsignal zu hoch --> Doppelauslösung
    Drehzahlsignal zu niedrig? Impulse zu kurz
    Nur mal so frei von der Leber weg...

    Als Lektüre: Erforderliche Schaltnockenlänge bei induktiven Näherungssensoren
    Geändert von weißnix_ (19.08.2016 um 10:59 Uhr)

  7. #7
    Registriert seit
    11.08.2014
    Beiträge
    36
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo weißnix_,

    ich erfasse die Drehzahl mit induktiven Näherungssensoren.
    Habe eine Antriebswelle mit einer Schaltnocke drauf.
    Die Spannungsflanken erfasse ich mit einer Wago 750-411 Eingangskarte.

    Ich habe einen Task in Codesys definiert, der das Einlesen der digitalen Eingänge übernimmt.
    Dort wird dann auch die aktuelle Drehzahl in Abhängigkeit der gezählten steigenen Flanken gemessen (verwendeter Baustein M_TX von Oscat)

    Die Fehlmessungen werden häufiger, bzw. stärker, je höher die Drehzahl ist. Bei Drehzahlen von 7 Hz gibt es so gut wie keine Spitzen.

  8. #8
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.102
    Danke
    160
    Erhielt 169 Danke für 156 Beiträge

    Standard

    Wie schnell ist die Task? (Zykluszeit)
    Fest oder freilaufend?
    Also ab 7Hz fehlen Impulse? Bei der 0.2ms Eingangskarte bleibt dann die Zykluszeit. Der Impuls des Gebers muss ja anstehen, wenn das PAE aktualisiert wird.

  9. #9
    Registriert seit
    11.08.2014
    Beiträge
    36
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Die Task wird mit 2ms fest zyklisch aufgerufen.
    Habe mal aus Interesse einen CyleTimer Baustein eingefügt.
    Durchschnittlich läuft die Task mit 2 ms.

    Ich denke auch, dass in den oberen Drehzahlen wahrscheinlich Fehlmessungen aufgrund der Zykluslaufzeit der Task häufiger auftreten.

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.205
    Danke
    389
    Erhielt 2.297 Danke für 1.911 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Eine andere Frage mal :
    Wie sieht denn deine Drehzahl-Erfassungs-Routine (als Code) aus ?
    Vielleicht wäre das Problem eher dort zu suchen ...

    Gruß
    Larry

Ähnliche Themen

  1. Messfehler bei Analogeingänge
    Von slk230-power im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.11.2012, 17:53
  2. messfehler aus messreihe filtern
    Von Senator42 im Forum Programmierstrategien
    Antworten: 25
    Letzter Beitrag: 10.08.2012, 18:35
  3. Genauigkeit / Messfehler
    Von toto45 im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 09.12.2011, 15:39
  4. Filtern von Induktionsspannung
    Von Prome im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 08.03.2010, 21:08
  5. CAN: Filtern von Telegrammen
    Von PeterEF im Forum Feldbusse
    Antworten: 0
    Letzter Beitrag: 08.10.2007, 18:07

Lesezeichen

Berechtigungen

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