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

Ergebnis 1 bis 9 von 9

Thema: Encoder nullen

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!

    meine Ausgangslage:

    Inkrementall Encoder welcher in den positiven sowie auch in den negativen Bereich verläuft.
    Die Klemme für die Auswertung hat einen "Nullen" Eingang, also die Encoderwert auf Null stellen.


    momentane Lösung:

    L Wert Encoder
    L Speicher
    ==I
    FP Merker

    //------

    U Merker
    = Encoder "nullen"

    //-----

    L Wert Encoder
    T Speicher


    Es läuft soweit, aber teilweise habe ich Verzögerungen beim nullen.

    Gibt es eventuell noch eine "schönere" Lösung?

    Danke für euere Hilfe
    Zitieren Zitieren Encoder nullen  

  2. #2
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Standard

    Umso schneller der Umdrehungen umso mehr hinkt der Aktualwert in der SPS dem Wert an der Welle hinterher.
    Normalerweise trägt man im Antriebskontroller den Modulofaktor ein - Anzahl der Incremente pro Umdrehung -
    und schalten den Flag von Linearachse auf Rundachse um. Ich weißt ja nicht was du da an Hardware hast, aber das
    Nullen über die SPS zu machen ist nicht sinnvoll wenn die Achse dabei dreht.

    Grüße

    Frank
    Grüße Frank

  3. #3
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Die Verwendung deines Flankemerker ist nicht ganz OK.
    Das ist eigentlich ein Hilfsmerker zur Erzeugung der Flanke
    und wird nicht abgefragt.

    Code:
    L Wert Encoder
    L Speicher 
    ==I
    FP Merker
    = Encoder "nullen"
    
    
    
    L Wert Encoder
    T Speicher

  4. #4
    Sisu ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.04.2011
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für eure Tipps!

    @IBFS

    Also es ist ein Handrad welches sich sobald im Stillstand befindet auf "Null" schalten soll! Also kein Antriebsmodul, etc. Als Auswertung wird eine KL5101 von Beckhoff verwendet.

    @ rostiger Nagel

    Ja ich weiss und deshalb frage ich nach Rat

  5. #5
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Hallo Sisu,
    in deinen Beispiel hast du den Flankenmerker abgefragt, dieser ist aber
    bei dem Vergleich 'Wert Encoder' zu 'Speicher' immer '1' solange der Vergleich
    eine '1' liefert.

    Aber grundsätzlich ist dein Vergleich sowieso ungünstig, du solltest nach 'Größer'
    oder 'kleiner' vergleichen, da das Increment zu treffen nicht immer gelingt.

  6. #6
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Standard

    @sisu

    und wie erkennst du dann den Stillstand?

    Ich würde sagen, wenn sich der Aktualwert länger als 1 Sekunde nicht mehr ändert, erst dann würde ich Nullen.

    Daher brauchst du vor deinem Nullen noch einen Vergleicher zwischen AltWert - letzter SPS-Zyklus und Aktualwert - aktueller SPS-Zyklus.

    Ich kenne die Auflösung deines Encoders nicht, aber in Grenzfällen könnte der Wert "flackern". Daher muss ggf. noch etwas davorgeschaletet werden, was dieses "Rauschen" unterdrückt,
    d.h, der Wert des Einganges wird nur dann an deinen Vergleicher weitergeleltet, wenn sich der Wert mindestens um + oder - 2 INC verändert hat. Das muss man aber im Einzelfall ausprobieren.

    Frank
    Grüße Frank

  7. #7
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Um den Stillstand zu erfassen könntest du vielleicht so Vorgehen.

    Code:
    L Encoder
    L Speicher
    -I
    L 1
    <=I
    = Stillstand
    
    U Stillstand
    L S5T#1s
    SE T 0
    
    U T 0
    = EndcoderNullen
    
    L Encoder
    T Speicher

  8. #8
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.242 Danke für 973 Beiträge

    Standard

    Ich kenn die Beckhoff-Klemme nicht, aber die meisten Klemmen dieser Art liefern auch Zusatz-Informationen wie Drehrichtung oder Stillstand. Wirf doch mal einen Blick ins Handbuch der Klemme.

    Gruß
    Dieter

  9. #9
    Sisu ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.04.2011
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für eure Hilfe

    Zusatzinfo gibt es auch bei dieser Klemme, aber nicht die Stillstands Info!

    Werde den Code vom "rostigen Nagel" ausprobieren

    Danke nochmals

Ähnliche Themen

  1. DINT nach CHAR wandeln mit führenden Nullen
    Von smartie im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 25.02.2013, 14:53
  2. Global-DB mit Nullen vollschreiben
    Von Wagginator im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 16.05.2012, 09:05
  3. Ziffer in DINT nullen
    Von plc_typ im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 09.09.2010, 17:59
  4. TargetVisu - Textfeld mit Nullen auffüllen ->GRRRRRRRRRRRR
    Von PLC-Gundel im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 15.12.2009, 14:05
  5. Vorbelegung einer Zahl mit Nullen
    Von INST im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 10.02.2005, 09:00

Lesezeichen

Berechtigungen

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