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

Ergebnis 1 bis 8 von 8

Thema: Drezahl Auswertung in ST

  1. #1
    Registriert seit
    04.08.2014
    Ort
    Rödermark
    Beiträge
    20
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo Leute,
    ich möchte die Drehzahl eines Zahnrad mit 60 Zähne berechen und das Programm dafür in ST schreiben !! und weiß ich nicht wie ich anfangen soll
    kann mir jemanden bitte helfen !!
    ich danke euch im Voraus.
    Gruß
    Redone
    Zitieren Zitieren Drezahl Auswertung in ST  

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

    Standard

    Du kannst ja schonmal damit anfangen aufzuschreiben, welche Parameter deine Funktion überhaupt haben soll.
    Also was geht rein, und was geht raus.

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Es gibt mehrere Möglichkeiten.

    1. Du kannst eine bestimmte Anzahl Impulse zählen und die Zeit stoppen. Diese durch die Anzahl der Impulse teilen.
    2. Du kannst eine feste Zeit nehmen und zählen, wie viele Impulse in dieser Zeit eingehen. Dann wieder teilen.
    3. Ist die SPS schnell genug (oder das Zahnrad langsam genug), dann kannst du natürlich auch die Zeit zwischen zwei Impulsen messen.

    Aus den Signalen der Zahnräder machst du Flanken (R_Trig, F_Trig). Sind die Zähne gleich groß wie die Lücken (oft werden sie dazu abgeschliffen) kann man mit fallenden und steigenden Flanken arbeiten.
    Wichtig ist, dass die Dauer des Signals, das vom Zahnrad kommt mindestens Doppel so groß ist, wie die Zykluszeit, sonst verlierst du Impulse.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Redone (12.09.2014)

  5. #4
    Avatar von Redone
    Redone ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.08.2014
    Ort
    Rödermark
    Beiträge
    20
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich habe ein Hallsensor der an dem Rad befestigt ist und liefert Impulse wie soll ich dann das Programm in ST dafür aus

  6. #5
    Avatar von Redone
    Redone ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.08.2014
    Ort
    Rödermark
    Beiträge
    20
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    habt ihr vlt Beispiele dafür !!?
    gruß
    Redone

  7. #6
    Registriert seit
    12.05.2010
    Ort
    Dortmund
    Beiträge
    889
    Danke
    57
    Erhielt 121 Danke für 89 Beiträge

    Standard

    Moin,
    schau mal hier :

    Drehzahlauswertung mittels Impulse
    Weil Denken die schwerste Arbeit ist, die es gibt, beschäftigen sich auch nur wenige damit.

  8. #7
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.513
    Danke
    268
    Erhielt 250 Danke für 226 Beiträge

    Standard

    hier mal ein Schnipsel aus einem Projekt, in dem ich genauso die Geschwindigkeit+Position bestimme:

    Code:
    (*aktuelle systemzeit bei pos. Flanke des Kettenradinis speichern und
    Zeitdifferenz berechnen*)
    IF
        INI_kettenrad=TRUE AND  flankenmerker_ini=FALSE
    THEN
        diff:=timelow-timeold;
        timeold:=timelow;
        tmr2.IN:=TRUE;   (*Stillstandserkennung*)
    ELSE
        tmr2.IN:=FALSE;
    END_IF;
    flankenmerker_ini:=INI_kettenrad;
    Dieser Schnipsel steht in einer schnelle Task. Ist natürlich nicht vollständig, ohne die Systemzeitfunktionen und Variablendeklaration.
    In der (langsameren) Main-Task steht dann nur noch:

    Code:
    (************************************************************
    geschwindigkeit berechnen*)
    
    diff1:=UDINT_TO_REAL(diff);
    speed_sbm:=(1000000/diff1)*60;  (*takt/sec*)
    
    (*********************************************************)
    In diese Berechnung geht gleich die Zahnanzahl mit ein.

    PS: Ich erfasse die Inkremente an einem Kettenrad, das durch die Kette getrieben wird. Da es eine Transportkette ist, habe ich hier ein durch das Produkt verursachtes Rucken mit entsprechendem Jitter im Signal. Also schliesst sich noch eine Konditionierung mittels Tiefpass und STAIR2-Funktion aus OSCAT an. Der Jitter fällt kleiner aus, wenn man am direkt angetriebenen Ritzel die Messung betreibt.
    Bei mir synchronisiere ich auf diese Art und Weise zwei Maschinen und bin sehr zufrieden damit.


    PPS: Hier handelt es sich um eine Periodendauermessung. Diese Art der Auswertung eignet sich nach meiner Erfahrung eher für Maschinen mit variablen Drehzahlen, die von nahe 0 bis zu moderaten Geschwindigkeiten arbeiten. Die Genauigkeit nimmt mit höheren Geschwindigkeiten ab, da Zyklusjitter und Signalverzögerung in der DI-Baugruppe dann stärker in die Messung eingehen. Für höhere Drehzahlen empfielt sich eine Frequenzmessung, also das Impulszählen mit fester Torzeit.

    PPPS: Für die Auswahl des Verfahrens würde ich zum Taschenrechner raten. Ist die Zeit zwischen zwei Zähnen (Periode) größer als 10x Zykluszeit, dann Periodendauer. Ansonsten Frequenzzählung.
    Geändert von weißnix_ (12.09.2014 um 11:07 Uhr)

  9. Folgender Benutzer sagt Danke zu weißnix_ für den nützlichen Beitrag:

    Redone (12.09.2014)

  10. #8
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.513
    Danke
    268
    Erhielt 250 Danke für 226 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Beispiel: 100 Umdrehungen /60 Zähne entspricht 100Impulsen pro Sekunde.
    Das sind also bei Beckhoff 100000 Zeiteinheiten zwischen den Pulsen (10ms).

    Im obigen Beispiel wäre diff1 also 100000.0

    1000000 / diff1 ergibt schon direkt die Drehzahl.

    Bietest Du Deinem Ausbilder gleichzeitig noch die Frequenzmessung an, ssollte er eigentlich zufrieden sein.

    Da Du ja 2 Hallsensoren hast kannst Du 4 Flanken auswerten, was sich auf die Frequenzmessung positiv auswirkt.
    Geändert von weißnix_ (12.09.2014 um 11:40 Uhr)

  11. Folgender Benutzer sagt Danke zu weißnix_ für den nützlichen Beitrag:

    Redone (12.09.2014)

Ähnliche Themen

  1. Analogwert auswertung
    Von preuner_94 im Forum Sonstige Steuerungen
    Antworten: 38
    Letzter Beitrag: 11.01.2014, 07:24
  2. Antworten: 6
    Letzter Beitrag: 20.11.2010, 20:09
  3. 1oo2 Auswertung
    Von taylor1982 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.07.2009, 09:51
  4. Auswertung word
    Von tarzipan7 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.08.2008, 13:22
  5. Drezahl als Prozentanzeige
    Von ottopaul im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 03.01.2007, 02:16

Lesezeichen

Berechtigungen

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