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

Ergebnis 1 bis 6 von 6

Thema: Programmierung einer virtuellen Objektverfolgung

  1. #1
    Registriert seit
    08.05.2009
    Beiträge
    117
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen,
    bin gerade damit beschäftigt die oben genannte Geschichte in einer Simatic S7 zu programmieren.

    Gemeint ist damit folgendes:
    Die Antriebe in einem Gerät fahren mit einer bestimmten Geschwindigkeit.
    Ein Objekt fährt nun in dieses Gerät hinein, in diesem Gerät sind keine Initiatoren um zu erkennen wo das Objekt genau ist.
    Ich überwache nun ob mein Gerät sich bewegt und ob etwas in das Gerät hinein gefahren wird.

    Nun fülle ich, wenn das Gerät sich bewegt und etwas in das Gerät hinein fährt, in einem DB Bitweise 50 Doppelworte, mittels auf 1 setzen und nach links schieben.
    Die Zeit für jeden nach Linksschiebeimpuls errechne ich anhand der Länge des Geräts und der Geschwindigkeit mit der es fährt.

    Mein Problem ist nun, dass diese Positionierung zu ungenau wird, da meine Impulszeiten zu klein werden.
    Brauche aber recht viele Bitsignale um eine genaue Objektverfolgung hin zu bekommen.

    Kurz gerechnet.
    50 Doppelworte heisst 1600 Bits
    Angenommen mein Gerät fährt mit 12m/min und das Gerät ist 12m lang, dann würde es eine Minute dauern bis ein Objekt durch das Gerät durch ist.
    Durch die 1600 Bits hätte ich theoretisch eine Genauigkeit von 7,5mm
    Das wird aber nicht klappen, da Störfaktoren wie Zykluszeit und diese kleinen Impulszeiten die sich im Bereich 37ms bewegen, einen sehr starken negativen Einfluss haben.

    Vielleicht habt ihr ja Ideen bzw. schon mal etwas ähnliches entwickelt um mir Hilfestellung zu geben.
    Vielleicht ist ja mein Denkansatz schon Grundsätzlich falsch.

    Vielen dank im voraus.
    Zitieren Zitieren Programmierung einer virtuellen Objektverfolgung  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Warum schiebst du die ganzen Bits da durch?

    1. Falls die Geschwindigkeit konstant ist:
    Du kennst doch den genauen Zeitpunkt, wenn das Gerät hineinfährt, das ist der Zeitpunkt, an dem du jetzt zum ersten mal schiebst.
    Mit der abgeleaufenen Zeit, seit dem Hineinfahren kannst du dann immer die Position berechnen, ohne zu schieben.

    2. Falls die Geschwindigkeit nicht konstant ist.
    Gibt es nicht die möglichkeit, einen Incrementalgeber so anzubringen, das er den Weg der zurückgelegt wird messen kann (am Vorschubmotor oder wie immer das aussieht)?
    Dann könnte man zum Zeitpukt des Einfahrens den Weg speichern und zu jedem beleibigen Zeitpunkt über die Differenz zum Istwert, die Position ermitteln.

    3. Wenn die Geschwindigkeit nicht konstant ist und kein Geber irgendwo angebracht werden kann.
    Dann geht es einfach nicht genauer, denn wenn man nichts messen kann, muß man schätzen und das tust du ja eigentlich im Moment.
    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

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

    matziane (03.06.2015)

  4. #3
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard

    Wir nutzen Variante 2 von Ralle. Wert bei Einfahrt auf 0 und dann mit den Geberimpulsen Hochzählen. Über die Geberauflösung und eventuelle Getriebeverrechnungen erhältst du rechnerisch die maximale Auflösung die im System zu erreichen ist. Selbst bei Fördererstops (Nachlauf des Motors usw)weist du, wo dein Fördergut ist.

    Kurzen und schnellen Impulse kannst du durch Alarmverarbeitung und oder Impulsverlängerung gut beikommen...

  5. #4
    matziane ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.05.2009
    Beiträge
    117
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Guten Morgen,
    die Variante klingt für mich auch sehr gut, vor allem auch sicher.
    So werde ich das ganze wohl auch aufziehen.

    Wie löst ihr das mit dem "Nullübergang" bei dem Geber?

  6. #5
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard

    Wir benutzen Incrementalgeber . Diese geben ein 0° und ein 90° Signal. Aus diesen wird Drehrichtung und ein Impuls gebildet. Dieser Impuls wird in der CPU über Alarmeingänge gezählt. Somit gibt es kein Problem mit "Nullübergang" wie bei Absolutwertgebern....

  7. #6
    matziane ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.05.2009
    Beiträge
    117
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das mit dem Incrementalgeber scheint mir die wirklich beste Variante sein, bin gerade dabei das dahin gehend umzubauen.
    Aktuell läuft es so, dass wenn ein Teil in die Anlage fährt, nulle ich den Wert der Vorderkante und zähle diesen dann anhand des Geberwerts hoch.
    Hinter diesem hochzählen ist noch eine Formel die mir anhand von Übersetzungsverhältnissen von Wellen und von Rollenumfängen die Strecke in mm errechnet, welche ich mir dann wegschreibe.
    Wird die Hinterkante erkannt, wird auch die nach dem selben Prinzip hochgezählt.
    Aktuell habe ich noch ein Problem mit meinem FIFO, da bis zu 2 Objekte unterwegs sein können und ich muss diese Anhand der Zuordnung rein und rausschieben.

    Aber trotzdem bis hier her erstmal Dankesehr für die Hinweise

Ähnliche Themen

  1. Programmierung einer Schneidanlage
    Von Kanüle im Forum CODESYS und IEC61131
    Antworten: 21
    Letzter Beitrag: 09.03.2015, 08:04
  2. S7-300 Programmierung einer Türschaltung
    Von juliussezer im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 01.02.2012, 10:04
  3. Programmierung einer Würfelanlage
    Von drej8363 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.01.2012, 22:49
  4. Programmierung von einer Steuerung
    Von Cosmoffm im Forum Programmierstrategien
    Antworten: 15
    Letzter Beitrag: 04.11.2008, 07:32
  5. Programmierung einer Abgasfilteranlage
    Von Darkjimi im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 18.06.2008, 09:34

Lesezeichen

Berechtigungen

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