Eine Indexed Station bewegt die Züge getaktet und zeitgesteuert. Die Station empfängt ein Startsignal von einem Touchprobe-Eingang oder über ein Bit, und nach einer definierten Zeit des Parameters lrStartDelayTime bewegt sich der Zug einen Schritt weiter und wartet auf das nächste Startsignal.
In diesem Kapitel wird dabei zum besseren Verständnis immer nur von einer Beladestation bzw. dem Beladen der Züge mit Produkten gesprochen. Dies ist jedoch nur als Beispiel zu sehen und gilt für alle Stationen.
Bewegungsparameter (stStepMove / stDepartureMove)
Die folgende Grafik zeigt den Verlauf einer Bewegung eines Zugs in einer Indexed Station. In der ersten Reihe sind die Startsignale dargestellt, darunter Position, Geschwindigkeit und Beschleunigung.
Der Zug macht in der Station 3 Schritte (lädt 3 Produkte) und startet mit dem letzten Startsignal zur nächsten Station.
1. Startsignal: Der Zug wird aktiv und fährt zu lrStationPos. Dies ist die erste Beladeposition der Station. Vor dem Zug, der hier aufgezeichnet wurde, startet der vorausfahrende Zug zur nächsten Station (siehe 4.).
2. Startsignal: Das erste Produkt liegt im Zug und er startet nach lrStartDelayTime bei lrStationPos + alrSteps[1].
3. Startsignal: Das zweite Produkt liegt im Zug und er startet zu lrStationPos + alrSteps[1] + alrSteps[2] nach lrStartDelayTime. Hier ist auch die Wartezeit lrStartDelayTime grafisch eingetragen.
4. Startsignal: Das dritte Produkt liegt im Zug. Der Zug ist daher voll beladen und startet zur nächsten Station. Der Zug hinter dem hier aufgezeichneten fährt zu lrStationPos und nimmt das nächste Produkt entgegen. Das Startsignal 4. entspricht also dem 1. hier aufgezeichneten nur für verschiedene Züge. Der Zyklus beginnt von vorne.
5. Startsignal: Wenn dieses Startsignal kommt, ist der Zug schon in der nächsten Station. Es hat keinen Einfluss mehr auf die Bewegung des aufgezeichneten Zugs sondern auf die Bewegung des darauffolgenden Zugs. Es entspricht Startsignal 2.
Indexed Station - Bewegungsparameter
Die folgende Grafik zeigt exakt den gleichen Verlauf, nur wurden hier 2 Züge aufgezeichnet.
Indexed Station - Zwei Züge
Als Plateaugeschwindigkeit wird die Geschwindigkeit bezeichnet, die ein Zug bei jedem Schritt erreicht. Sie wird entweder durch die Geschwindigkeit festgelegt, die beim kleinsten Schritt erreicht wird oder durch die Vorgabe von stStepMove.lrVel. Die geringere Geschwindigkeit gilt für beide Werte. Sie wird in der Feedback-Struktur unter stActiveStepMove.lrVel angezeigt.
Der Parameter stStepMove.lrVel kann somit auf zwei Arten genutzt werden:
1. Anwendung: Die Schritte sollen möglichst schnell erfolgen, und es ist keine Plateauphase nötig. Die Produkte werden beispielsweise von der Seite in die Züge geladen und von Fächern gehalten. Nach einem Startsignal soll möglichst schnell die Bewegung ausgeführt werden. Es ist hier keine Begrenzung der Geschwindigkeit nötig und stStepMove.lrVel kann auf einen höheren Wert gesetzt werden.
2. Anwendung: Die Schritte sollen mit einer bestimmten Geschwindigkeit erfolgen. Beispielsweise sollen die Produkte annährend synchron übergeben werden, und der Zug bewegt sich beim Beladen. Der Zug soll dazu mit der Geschwindigkeit des Zuführbands fahren während das Produkt übernommen wird. Um das zu erreichen, sollte stStepMove.lrVel auf die Geschwindigkeit des Zuführbands gesetzt werden. Dieser Anwendungsfall ist in den Abbildungen oben zu sehen.
Wird ein Schritt sehr klein parametriert, verkleinert sich die Plateaugeschwindigkeit für alle Schritte!
Nach einem Startsignal warten die Züge in einer Station lrStartStartDelay [ms] lang, bis die Bewegung gestartet wird. Der Parameter kann verwendet werden, um die Zeit festzulegen, die zwischen der Erkennung eines Produkts durch einen Touchprobe-Sensor und dem Start der Bewegung vergeht.
Steht der Zug still, so wird die volle Zeit abgewartet (siehe 1.). Ist der Zug nach Ablauf der lrStartDelayTime noch nicht gestoppt, so wird der Zug rechtzeitig gestartet, um immer zum gleichen Zeitpunkt die Plateaugeschwindigkeit zu erreichen (siehe 4.). Der Abstand zwischen Startsignal und dem Punkt, an dem der Zug die Plateaugeschwindigkeit erreicht, ist immer konstant!
Indexed Station - lrStartDelayTime
Beladen der Züge während der Fahrt (xStartOnVelocity)
Werden die Züge in einer Station während der Fahrt beladen, um eine annähernd synchrone Übergabe zu erreichen, ist es sinnvoll, die lrStartDelayTime nicht bis zum Start der Bewegung, sondern bis zum Erreichen der Plateaugeschwindigkeit anzugeben.
oFALSE (Standard): lrStartDelayTime gibt die Zeit von der Produkterkennung bis zum Start der Bewegung an.
oTRUE: lrStartDelayTime gibt die Zeit von der Produkterkennung bis zum Erreichen der Plateaugeschwindigkeit an. Dazu muss die lrStartDelayTime größer sein als die Zeit, die der Zug benötigt, um auf Plateaugeschwindigkeit zu beschleunigen.
Ausschalten des Touchprobe-Sensors (lrLockOutTime)
Der Parameter lrLockOutTime gibt an, wie lange der Touchprobe-Sensor deaktiviert sein sollte, nachdem ein Produkt erkannt wurde. Diese Angabe kann verwendet werden, um Produkte zu handhaben, die mehrmals von dem Sensor erkannt wurden. Der Parameter ist nur wirksam in Verbindung mit Touchprobe-Signalen.
lrLockOutTime
1. Flanke: Ein Startsignal wurde erkannt und der Sensor wird für lrLockOutTime [ms] abgeschaltet.
2. Flanke: Die 2. Flanke wird nicht erkannt, weil sie in der lrLockOutTime auftritt.
3. Flanke: Die 3. Flanke löst wieder ein normales StartSignal aus. Der Sensor wird wieder für lrLockOutTime [ms] abgeschaltet.
Minimale Produktlänge (lrMinProductTime)
Der Parameter lrMinProductTime legt die minimale Produktlänge in [ms] fest. Damit ein Startsignal erkannt werden kann, muss der Touchprobe-Sensor länger als "lrMinProductTime" verdeckt sein. Der Parameter ist nur wirksam in Verbindung mit Touchprobe-Signalen.
lrMinProductTime muss kleiner sein als lrStartDelayTime und ist nur in Verbindung mit einer Produkterkennung an der steigenden Flanke (Beginn des Produkts) sinnvoll. Der Parameter kann verwendet werden um umherfliegende Kleinteile herauszufiltern.
lrMinProductTime
1. Flanke: Das Signal des TouchProbe-Eingangs ist länger TRUE als lrMinProductTime und daher ein gültiges Startsignal.
2. Flanke: Das Signal ist kürzer als lrMinProductTime und wird daher verworfen.
Flanke: Das Signal ist länger als lrMinProductTime und daher ein gültiges Startsignal.
Maximale Produktlänge (lrMaxProductTime)
Der Parameter lrMaxProductTime gibt die Zeit in [ms] an, für die ein Produkt den Touchprobe-Sensor verdecken muss, sodass sich das Bit xMaxProductTime in der Feedback-Struktur der Station in TRUE ändert. lrMaxProductTime kann verwendet werden, um einen Produktstau unter dem Sensor zu registrieren.
Der Zug ist bereit (lrReadyForStepOffset)
Der Parameter lrReadyForStepOffset gibt die Position an, ab der das Bit xReadyForStep := TRUE wird. Nach dem nächsten Startsignal wechselt es wieder zu FALSE, bis der Zug wieder näher als lrReadyForStepOffset an sein Ziel herankommt.
Mit dem Parameter können Sie festlegen, wie viel früher Sie informiert werden möchten, bevor der Zug bereit ist, einen Schritt zu machen. Die Standardeinstellung ist 0. Sie ist beispielsweise nur dann sinnvoll, wenn der Zug voll und ganz zum Stehen gekommen ist, da die Entladung in der Station durch den Roboter durchgeführt wird. Das Signal xReadyForStep kann dann als Startsignal für den Roboter dienen.
Der Parameter legt nur fest, ab wann das Signal xReadyForStep TRUE wird. Informationen dazu, wie festgelegt wird, ab wann ein Startsignal akzeptiert wird, finden Sie unter lrStartAcceptOffset.
![]()
|
![]()
|
xReadyForStep := FALSE - Zug fährt in eine leere Station ein |
xReadyForStep := TRUE - Zug fährt in eine leere Station ein |
![]()
|
![]()
|
xReadyForStep := FALSE - Zug hat ein Startsignal erhalten und fährt zu alrSteps[1] |
xReadyForStep := TRUE - Zug hat ein Startsignal erhalten und fährt zu alrSteps[1] |
Auf Zug warten (xWaitForTrainInQueue)
Dieses Bit kann verhindern, dass der voll beladene Zug abfährt, und dafür sorgen, dass er wartet, bis der nachfolgende Zug aufgeschlossen hat.
oFALSE (Standard): Ein Zug, der voll beladen ist, startet sofort zur nächsten Station.
oTRUE: Der voll beladene Zug wartet, bis der nachfolgende Zug komplett aufgeschlossen hat oder näher als lrStartAcceptOffset an die Station herangekommen ist.
Ein Einsatzzweck sind Stationen, die Produkte stauen und damit die Züge beladen. Ist die Station vollkommen frei, werden die Produkte in den Einsatzbereich des Zugs geschoben.
Eine Liste aller Parameter in einer Indexed Station finden Sie unter ST_Indexed.
Erklärung des Bewegungsablaufs
In der Traceaufzeichnung sieht man den Bewegungsablauf eines Zugs beim Aufschließen auf vorausfahrende Züge. Der aufgezeichnete MultiBelt besteht aus 2 Zügen und 2 Stationen.
Zu Beginn der Aufzeichnung steht Zug 2 in Station 2 und wartet auf ein Startsignal. Zug 1 ist in Station 1 und taktet bei den oben aufgezeichneten Startsignalen weiter. Das Startsignal (1.) hat nur Auswirkungen auf Zug 1, weil Zug 2 in Station 2 ist. Zug 2 erhält kurz darauf ebenfalls ein Startsignal (hier nicht aufgezeichnet) und startet danach zur ersten Station. Da Station 2 die Station mit der höchsten Stationsposition ist, wird vor der Abfahrt die Position auf lrBeltLength zurückgesetzt. Nach Ablauf der lrStartDelayTime startet der Zug dann zur ersten Position. Was dabei auffällt ist, dass Zug 2 zuerst mit stStepMove-Parametern startet und erst nach Erreichen der Plateauphase zum Parameter stDepartureMove wechselt. Dieses Verhalten wurde zur Kollisionsvermeidung eingeführt und ist unabhängig vom Parameter lrAdditionalStep. Dieser kann lediglich dazu verwendet werden, diese Plateauphase zu verlängern.
Während Zug 2 in Station 1 einfährt, kommt ein neues Startsignal (2.) und Zug 1 macht einen Schritt. Zug 2 fügt diesen Schritt zur Aufschließbewegung hinzu und wechselt zu stStepMove.lrVel sobald er nahe an Zug 1 herangekommen ist. Es ist deutlich sichtbar, dass Zug 2 den Schritt später beendet als Zug 1.
Beim 3. und 4. Startsignal ist Zug 2 bereits wieder gekoppelt und fährt die Schritte synchron zu Zug 1.