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

Ergebnis 1 bis 6 von 6

Thema: Längenmessung mit Inkrementalgeber

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich bin ziemlicher Anfänger was die S7 angeht. Bis auf ein paar Stunden im Meisterkurs habe ich mir den größten Teil selbst beigebracht, und hoffe das mir hier geholfen werden kann.
    Ich versuche mein Projekt und Problem so genau wie möglich zu beschreiben ohne das daraus ein Roman wird.
    Bei dem Projekt soll eine 100m Rolle PVC Material auf verschiedene Maße abgelängt werden. Hierzu verwende ich eine CPU 313-C Ptp, ein KTP1000 und
    einen Kübler Drehgeber 500 Impulse pro Umdrehung. Das Messrad auch von Kübler hat einen Umfang von 500mm, somit ist ein Inkrement auch ein 1mm.
    Die A Spur des Drehgebers ist am E0.0 der CPU angeschlossen. Der E0.0 ist
    laut Beschreibung ein schneller Eingang, und sollte daher geeignet sein.
    Am KTP1000 habe ich nun 10Eingabefelder für 10Stückzähler, und 10Eingabefelder für die Länge des jeweiligen Stückzählers. Die Stückzähler laufen hintereinander ab, der Längenwert des aktiven Zählers wird dann dem SFB47 als Vorgabe übergeben.
    Somit kann ich z.B. 5 Stück a 400mm, 10Stück a 800mm usw. schneiden
    bis die Rolle zu ende ist. Zugeführt wird das Material dem Messer mittels eines Bandtransportes der von einem Servo angetrieben wird. Drücke ich Start läuft der Servo, drücke ich Stop oder wird gerade geschnitten, dann
    steht der Antrieb.
    Nun da die Mechanik ja auch Toleranzen aufweist (ich denke da an das Messrad), kommen die Teile kürzer aus der Anlage als eingegeben.
    Wenn das Messrad nun statt 500mm nur 499 hat, dann habe ich pro Umdrehung einen Fehler von 1mm.Deswegen kann ich am KTP einen Faktor eingeben mit dem die eigentliche Länge multipliziert wird. Soweit funktioniert das ganze auch so wie gedacht. Der um den Faktor korrigierte Wert wird an den SFB47 übergeben,
    und sobald der IST Wert die Vorgabe errreicht hat, stopt die Anlage und es
    wird geschnitten. Somit erreiche ich eine Abweichung von +/- 1mm was
    für meinen Kunden OK ist.
    Mein Problem ist nun das der Faktor nicht gleich bleibt. Nun ist es so das bei einer Länge von 900mm und dem Faktor 1,06 ich die Vorgabe innerhalb meiner Toleranz erreiche. Bei 800mm und demselben Faktor werden die Teile jedoch 5mm zu lang, umgekehrt bei 1000mm werden die Teile 5mm zu kurz. Somit bräuchte ich bei 800mm einen Faktor von ca. 1,05 und bei 1000mm ca. 1,07.
    Die Anlage läuft mit 5m/min, damit 83 Impulse pro Sekunde, was den Eingang der CPU normal nicht überfordern sollte. Am Anfang habe ich auch
    an die Zykluszeit gedacht, da ich alles in einen FB gepackt habe, ein Tribut
    an meine mangelnde Erfahrung (die Zykluszeit bewegt sich meist um die 3ms, manchmal sind auch Ausreißer mit 20ms dabei). Jedoch sind alle Teile
    einer Länge immer +/- 1mm gleich lang.

    Ich bin mir nichtmal sicher ob das Problem von der CPU kommt, jedoch woher sonst?
    Ich danke schonmal für die Antworten und wünsche noch einen schönen Abend.

    MfG
    Workaholic
    Zitieren Zitieren Längenmessung mit Inkrementalgeber  

  2. #2
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    So wird das nichts. Die Auflösung ist im Vergleich zur gewünschten Genauigkeit zu gering.

    Wenn Deine SPS 400 Pulse bekommst weißt Du nicht wie lange das Teil wirklich ist, es können 400,0mm sein, müssen aber nicht. Beispiel 1:
    erster Schnitt genau in der Mitte zwischen zwei Pulsen, der zweite Schnitt nach 400 Pulsen (gerade wenn der 400ste Puls eingegangen ist) -> tatsächliche Länge 399,5mm

    Beispiel 2: erster Schnitt gerade nach einem Puls, zweiter Schnitt kurz bevor der 401ste Puls kommen würde: 400,99mm

    Und so weiter.

    Hier ist die mechanische Toleranz noch gar nicht berücksichtigt, geschweige denn Bremstoleranzen vom Servo, so wie ich das verstanden habe wird ja nicht auf die Position geregelt sondern nur der Stop ausgelöst?

  3. #3
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Workaholic Beitrag anzeigen
    Mein Problem ist nun das der Faktor nicht gleich bleibt. Nun ist es so das bei einer Länge von 900mm und dem Faktor 1,06 ich die Vorgabe innerhalb meiner Toleranz erreiche. Bei 800mm und demselben Faktor werden die Teile jedoch 5mm zu lang, umgekehrt bei 1000mm werden die Teile 5mm zu kurz. Somit bräuchte ich bei 800mm einen Faktor von ca. 1,05 und bei 1000mm ca. 1,07.
    So wie das ausschaut muss der Faktor proportional zur Länge geändert werden:
    Code:
       1000mm = 1,07
        900mm = 1,06
        800mm = 1,05
        => 0,01 / 100mm = 0,0001
        plus Grundfehler von 0,97 
     
    Mögliche Berechnung des Faktors:
       Länge * 0,0001 + 0,97
    @Oberschefe, Dein Einwand ist sicher berechtigt aber der Messfehler müsste doch bei unterschiedlichen Längen sich immer gleich verhalten.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  4. #4
    Registriert seit
    27.04.2007
    Beiträge
    22
    Danke
    5
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Ich hätte da zwei Vorschläge:

    1) Wenn Du von dem Inkrementalgeber nicht Impulse auswertest, sondern steigende und fallende Flanken, dann hättest Du die Auflösung verdoppelt. Wenn Du auch noch die B-Spur dazu nehmen kannst, vervierfacht. Ob Deine SPS dafür aber schnell genug ist, bezweifele ich.

    2) Du könntest versuchen, die Anzahl der benötigten Impulse aus "Solllänge * faktor - konstante" auszurechnen, wobei die Konstante den konstanten(?) Nachlauf des Servos angibt.

    Viel Erfolg.

  5. #5
    Registriert seit
    08.10.2009
    Ort
    Südpfalz
    Beiträge
    273
    Danke
    43
    Erhielt 54 Danke für 47 Beiträge

    Standard

    Hallo,

    ich sehe das auch so, dass deine Impulse zu gering sind.

    Ohne jetzt genau die BestNR deiner 313C zu kennen, die haben doch Zähler onboard.
    Du hast ja auch vom SFB47 gesprochen. Diese Zähler gehen bis 30kHz und haben einen Vergleicher-Ausgang.
    Vielleicht ist auch der SFB46 für dich besser geeignet?

    Gruß Roland
    Nicht Mensch, nicht Tier: Programmierer halt ...

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Workaholic Beitrag anzeigen
    Die A Spur des Drehgebers ist am E0.0 der CPU angeschlossen. Der E0.0 ist
    laut Beschreibung ein schneller Eingang, und sollte daher geeignet sein.
    Meinst Du mit E0.0 den ersten integrierten Eingang der 313C (DI+0.0 X12:2), der standardmäßig die Adresse E124.0 hat?
    Was ist bei Dir am E0.1 und E0.2 angeschlossen? Nicht, daß Dein Zähler kurzzeitig rückwärts zählt oder stoppt.

    Ich staune, daß das Zählen mit der 313C bei Dir überhaupt funktioniert, da Du nicht erwähnst, wie Du den schnellen Zählkanal 0 parametriert hast. Du erwähnst allerdings den SFB47.
    Offensichtlich ist Dein Zählkanal 0 als "Impuls/Richtung" ohne HW-Tor parametriert (Standardeinstellung).
    Welche Digitaleingänge man als Zähleingänge benutzt ist nicht wahlfrei, die DI sind fest den Zählkanälen zugeordnet, ebenso ihre Funktion. Benötigt man das Richtungssignal eines Zählkanals nicht, so darf der zugehörige Eingang trotzdem nicht beschaltet werden.

    Schließe die Spur B des Drehgebers an E0.1 an und parametriere den Zählkanal 0 auf "Drehgeber vierfach", dann hast Du 2000 Incremente je Umdrehung (0,25mm je Increment).

    Zitat Zitat von Workaholic Beitrag anzeigen
    Die Anlage läuft mit 5m/min, damit 83 Impulse pro Sekunde, was den Eingang der CPU normal nicht überfordern sollte. Am Anfang habe ich auch
    an die Zykluszeit gedacht
    Die Zählkanäle sind fest verdrahtete Hardwarezähler, die unabhängig vom OB1-Zyklus bis 30kHz zählen können.

    Betriebsanleitung: SIMATIC S7-300 CPU 31xC: Technologische Funktionen
    Gerätehandbuch: SIMATIC S7-300 CPU 31xC und CPU 31x: Technische Daten

    Was mir sonst noch einfällt:
    Dein Meßrad misst das ausgerollte Material und nicht die Umdrehungen der Materialrolle?
    Du berücksichtigst bei den Längenmessungen die Schnittbreite?
    Wie erzeugst Du das Stopsignal für den Bandtransport?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Inkrementalgeber
    Von zloyduh im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 20.07.2011, 11:01
  2. Längenmessung mit FM350-2
    Von M-Arens im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 04.08.2010, 14:45
  3. S7 und Inkrementalgeber
    Von TheOnlyOne im Forum Simatic
    Antworten: 57
    Letzter Beitrag: 16.12.2009, 11:41
  4. Inkrementalgeber
    Von elektrohippi im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 29.12.2008, 11:00
  5. Inkrementalgeber???
    Von Van_Eck im Forum Stammtisch
    Antworten: 2
    Letzter Beitrag: 26.09.2008, 21:18

Lesezeichen

Berechtigungen

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