Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

verzögerte Signale

Anonymous
2014-05-16
2014-05-17
  • Anonymous - 2014-05-16

    Originally created by: Geronimo

    Hallo zusammen,
    leider fehlt mir die zündende Idee, wie man folgendes Problem am Geschicktesten löst:
    Es soll ein Produktstrang in einer Linie geschnitten und anschließend einzeln ausgeblasen werden. Dabei muss stückgenau gezählt werden, es darf also kein Stück verloren gehen. Solange die Stücke länger sind als die Strecke zwischen Messer und Ausblasdüse ist auch alles in Ordnung, hier kann entweder über einen Timer oder einen Streckenintegrator genau ausgeblasen werden. Das Problem habe ich erst, wenn die Stücke kleiner sind als die Strecke, da dann mehrere Schnitte vor dem ersten Ausblasen auf dem Band liegen und der Timer mit dem neuen Schnittsignal immer neu gestartet werden würde. Ein Schieberegister hilft auch nicht weiter, da unterschiedlich viele Stücke auf dem Band liegen können. Außerdem dürfen einzelne Stücke, die vorher als Schrott erkannt wurden, nicht mit ausgeblasen werden. Hier kann das Schnittsignal für den Timerstart unterdrückt werden, aber vor- und nachher müssen die Gut-Teile korrekt getroffen werden.
    Ich habe versucht, dies über einen Baustein mit mehreren Timern zu lösen, aber es tritt irgendein Zeitproblem auf, das ich nicht finde. So werden immer mal wieder einzelne Teile nicht ausgeworfen. Hat jemand schon mal so einen verzögerten Timer gemacht?

    Danke im Voraus für Eure Hilfe!
    Andreas

     
  • Anonymous - 2014-05-17

    Originally created by: blackenslaver666

    Hallo Andy.
    Die Lösung besteht aus der Kombi deiner genannten Vorschläge. Wir haben ähnliche Applikationen im Einsatz & benutzen dafür eine Positionsverfolgung. Diese Verfolgung ist als Ringpuffer aufgebaut. Damit ist man so flexibel wie möglich, da man beliebig viele Produkte in den Speicher eintragen kann. Das Array muss nur sicher die max. Anzahl an kleinstmöglichen Teilen für die entsprechende Produkt-Wegstrecke aufnehmen können. Der Puffer hängt an einem Gebersystem & summiert für alle eingetragenen Produkte jeden SPS-Zyklus den zurückgelegten Weg auf. Im Prinzip wird irgendwo in der Maschine ein Produkt erkannt & nach bestimmten Kriterien (gut/schlecht) ein weiteres Bit zur Markierung gesetzt. Bei dir könnte das also der Schnitt sein (Beginn Wegstrecke = 0). In der Logik wertet man dann aus wann ein Produkt, das korrekt markiert wurde, den Abstand von Messer zur Blasdüse zurückgelegt hat & aktiviert dann über einen Timer die Blasluft. Produkte die bereits jenseits der Blasdüse sind werden im Ringpuffer automatisch gelöscht.

    Gruß Andy

     

Log in to post a comment.