Eine synchrone Station bewegt die Züge über elektronische Kurven synchron zu einem Leitgeber (Master). Genau wie in einer Indexed Station fahren die Züge auch hier einzelne Schritte. Das Bewegungsprofil der Schritte wird durch ein Bewegungsgesetz sowie die Parameter .ST_Synchron.lrSynchronStart und .ST_Synchron.lrSynchronEnd definiert.
Bewegungsablauf (Kurve/stDepartureMove)
Der Bewegungsablauf einer synchronen Station ergibt sich aus der Parametrierung. Die Hauptparameter sind hierbei etEventTrigger und .ST_Synchron.etLawOfMotion. Der Bewegungsablauf wird aufgrund des großen Umfangs in einem separaten Kapitel beschrieben.
Bewegungsgesetz der Kurve (etLawOfMotion)
Der Parameter ST_Synchron.etLawOfMotion legt fest, mit welchem Bewegungsgesetz die Züge der Masterachse folgen. Folgende Bewegungsgesetze sind implementiert.
oModAccTr: Modifiziertes Beschleunigungstrapez (Standard)
oInclSin: Geneigte Sinuslinie
oSystemCam: Benutzerdefinierte Kurve
Geändertes Beschleunigungstrapez |
Geneigte Sinuslinie |
![]()
|
![]()
|
Die Grafik zeigt den Positions-, Geschwindigkeits-, und Beschleunigungsverlauf für die Bewegungsgesetze. Das modifizierte Beschleunigungstrapez hat im Gegensatz zur geneigten Sinuslinie eine um ca. 20 % geringere Beschleunigung, die über einen längeren Zeitraum anliegt. Diese geringere Beschleunigung wird durch einen etwas höheren Ruck erreicht, wie man an der Steigung der Beschleunigung sehen kann.
Die Standardeinstellung "modifiziertes Beschleunigungstrapez" sollte für die allermeisten Anwendungen gut funktionieren.
Es besteht darüber hinaus die Möglichkeit, eine benutzerdefinierte Kurve abzufahren. Es muss sich dabei um eine Rast-Rast Kurve handeln. Andere Kurven sind nicht zulässig und führen zu Schlägen auf die Mechanik! Die benutzerdefinierte Kurve kann über die bekannten Systemfunktionen im Speicher hinterlegt werden. Dem Parameter diUserCamId muss die logische Adresse der Kurve übergeben werden.
Um die benutzerdefinierte Kurve abzufahren, müssen folgende Punkte erledigt sein:
oKurve im Speicher anlegen
oST_Synchron.etLawOfMotion := SystemCam festlegen
oST_Synchron.diUserCamId auf die logische Adresse der Kurve festlegen
Start- und Stopprampen (lrSynchronStart, lrSynchronEnd) festlegen
Die Parameter ST_Synchron.lrSynchronStart und ST_Synchron.lrSynchronEnd definieren die Rampe, über die die Züge auf Mastergeschwindigkeit beschleunigen oder von Mastergeschwindigkeit auf 0 abbremsen. Die Parameter stellen den Weg zur Verfügung, den der Zug bei der Beschleunigung zurücklegt. Der Master bewegt sich während der Beschleunigungsphase den doppelten Weg. Normalerweise sollten beide Werte gleich sein, damit eine symmetrische Bewegung entsteht. Die Züge fahren während des Be- oder Entladens immer mit diesen eingestellten Rampen. Auch Ausgleichsbewegungen werden mit diesen Rampen ausgeführt.
lrSynchronStart - lrSynchronEnd
Das Bild zeigt die Änderung der Zugposition in Abhängigkeit der Masterposition. Zusätzlich ist die Geschwindigkeit des Zuges aufgezeichnet. Man sieht, dass der Weg des Masters während der Beschleunigungs- bzw. Abbremsphase doppelt so lang ist wie der des Zuges. In der Zwischenzeit bewegen sich der Master und der Zug synchron 1:1. Im gezeigten Beispiel ist der Getriebefaktor ST_Synchron.lrGearFactor = 1.
Art der Startsignale (etEventTrigger)
Eine synchrone Station kann verschiedene Arten von Startsignalen auswerten und daraus die Bewegung der Züge generieren. Der Parameter etEventTrigger legt fest, welche Art von Startsignalen verwendet wird. Eine ausführlichere Beschreibung finden Sie unter Bewegungsablauf
etEventTrigger := StartOnSignal
Die Züge führen einen Schritt aus, wenn ein Signal von dem angegebenen Touchprobe ankommt oder über das Bit ST_Station.xStart angegeben wird. Die Arbeitsweise der synchronen Station entspricht mit dieser Einstellung in etwa der einer getakteten Station. Nachdem ein Produkt erkannt wurde, wird eine Kurve abgesetzt, die synchron ist, nachdem der Master sich um .ST_Synchron.lrStartDelayDistance weiter bewegt hat. Die Phasenlage des Produkts ist dabei nicht von Bedeutung. Die Bewegungen, um verschiedene Abstände zwischen Produkten auszugleichen, ergeben sich aus der Überlagerung der Schritte.
StartOnSignal eignet sich, um einen zufälligen Produktstrom in den MultiBelt zu übergeben. Ankommende Produkte müssen keine Phasenlage haben. Haben die Produkte den Abstand ST_Station.alrSteps[0] * lrGearFactor bereits auf dem Zuführband, ergibt sich automatisch eine Gerade ohne Ausgleichbewegungen.
etEventTrigger := SyncToPhase
Die Züge führen pro Masterperiode einen Schritt aus. Das geschieht automatisch, es wird kein Startsignal von außen benötigt. Die Produkte werden dabei auf die durch ST_Synchron.lrPhase definierte Phase abgelegt.
SyncToPhase eignet sich, um Produkte vom MultiBelt auf ein Band phasenrichtig abzulegen.
ET_EventTrigger := MasterSelectPos
Die Betriebsart entspricht der des DualBelt im synchronen Modus. Die Produkte müssen phasenrichtig an den MultiBelt gebracht werden. An der Position ST_Synchron.lrMasterSelectPos der Masterperiode wird geprüft, ob ein Produkt den Touchprobe-Sensor verdeckt. Ist dies der Fall, wird in der nächsten Periode Synchronität aufgebaut. Ist der Sensor nicht belegt, so wird die Synchronität, falls vorhanden, abgebaut. Es werden keine Ausgleichsbewegungen durchgeführt.
MasterSelectPos eignet sich, um einen bereits angeforderten Produktstrom an den MultiBelt zu übergeben.
Allgemein gilt:
Soll der Zug dem Master mit einer 1:1 Geraden folgen, so muss Folgendes gewährleistet sein:
ST_Synchron.lrMasterPeriod = ST_Station.alrSteps[0] * lrGearFactor und ST_Synchron.lrSynchronStart = ST_Synchron.lrSynchronEnd
Abstand des Touchprobe-Sensors (lrStartDelayDistance)
ST_Synchron.lrStartDelayDistance gibt den Abstand des Touchprobe-Sensors von der Übergabeposition. Der Abstand wird auch bei Verwendung des xStart-Bits zum Starten eingehalten. Der Abstand muss angegeben werden, wenn ET_EventTrigger = StartOnSignal oder MasterSelectPos.
lrStartDelayDistance
Die grafische Darstellung zeigt den Touchprobe-Sensor (oben), der das Produkt erkennt. Der Sensor erkennt ein Produkt, und nachdem sich der Master um .ST_Synchron.lrStartDelayDistance weiter bewegt hat, hat der Zug die Synchronphase erreicht. Es wird also nicht bis zum Start der Bewegung gemessen, sondern bis zum Beginn der Synchronphase. Dadurch lässt sich die Startrampe ändern, ohne die .ST_Synchron.lrStartDelayDistance anzupassen. ST_Synchron.lrStartDelayDistance wird in Einheiten des Masters gemessen.
Mindestlänge eines Produkts (lrMinProductLength)
Der Parameter ST_Synchron.lrMinProductLength legt die minimale Produktlänge in Einheiten des Masters fest. Damit ein Startsignal erkannt wird, darf der Touchprobe-Sensor nicht länger als ST_Synchron.lrMinProductLength verdeckt sein. Der Parameter ist nur wirksam in Verbindung mit Touchprobe-Signalen.
ST_Synchron.lrMinProductLength muss kleiner sein als ST_Synchron.lrStartDelayDistance - 2*ST_Synchron.lrSynchronStart. Der Parameter kann verwendet werden, um umherfliegende Kleinteile herauszufiltern.
lrMinProductLength
1. Flanke: Das Signal vom Touchprobe-Eingang ist länger TRUE als ST_Synchron.lrMinProductLength und damit ein gültiges Startsignal.
2. Flanke: Das Signal ist kürzer als ST_Synchron.lrMinProductLength und wird daher verworfen.
3. Flanke: Das Signal ist länger als ST_Synchron.lrMinProductLength und damit ein gültiges Startsignal.
Über die Variable lrGearFactor lässt sich ein Getriebefaktor definieren, der das Verhältnis zwischen Masterweg und Slaveweg festlegt. Der Standardwert ist 1. Der Zug folgt damit einer 1:1-Geraden zum Leitgeber. Dieses Verhältnis kann angepasst werden, so dass sich die Züge schneller oder langsamer als der Master bewegen.
Die folgende Grafik zeigt drei verschiedene Getriebefaktoren und ihre Auswirkung auf Geschwindigkeit und Beschleunigung der Züge. An der obersten Stelle ist die Position des Masters rot markiert. Danach in blau die Geschwindigkeit der Züge und als letztes in schwarz die Beschleunigung der Züge.
Getriebefaktor = 0,6 |
Getriebefaktor = 1 |
Getriebefaktor = 2 |
![]()
|
![]()
|
![]()
|
Benötigter Masterweg für einen Schritt 180/lrGearfactor = 300 |
Benötigter Masterweg für einen Schritt alrSteps[0] + 2*lrSynchronEnd = 180 140 + 2*20 = 180 |
Benötigter Masterweg für einen Schritt 180/lrGearfactor = 90 |
Erreichte Geschwindigkeit des Zugs 200 * lrGearFactor = 120 |
Erreichte Geschwindigkeit des Zugs Geschwindigkeit des Masters = 200 |
Erreichte Geschwindigkeit des Zugs 200 * lrGearFactor = 400 |
Erreichte Beschleunigung des Zugs 1220 * lrGearFactor² = 439,2 |
Erreichte Beschleunigung des Zugs Festgelegt durch Bewegungsgesetz und Mastergeschwindigkeit = 1220 |
Erreichte Beschleunigung des Zugs 1220 * lrGearFactor² = 4880 |
Die Parameter ST_Synchron.lrSynchronStart und .ST_Synchron.lrSynchronEnd beziehen sich auf den Weg des Zugs und sind nach wie vor gültig. Die Züge beschleunigen also im gleichen Weg auf die Mastergeschwindigkeit * Getriebefaktor. Wie in der Tabelle zu sehen, verändert sich die Beschleunigung der Züge quadratisch zum eingestellten Getriebefaktor. Der Ruck steigt exponentiell. Um den Ruck abzumildern, ist es möglich, die Parameter ST_Synchron.lrSynchronStart und ST_Synchron.lrSynchronEnd zu erhöhen, um damit eine längere Beschleunigungs- bzw. Bremsphase zu erhalten.
lrEndOfSyncPhaseOffset
Die Synchronphase kann ab dem Punkt, den lrEndOfSyncPhaseOffset definiert, abgebrochen werden und eine Ausgleichsbewegung kann gestartet werden. Dies geschieht nur, wenn die Startsignale so dicht aufeinanderfolgend kommen, dass eine Geschwindigkeitsüberhöhung nötig ist, um den kürzeren Abstand auszugleichen.
Kommen die Startsignale zu dicht, wird der Schritt nicht mit dem eingestellten Kurvengesetz zu Ende gefahren, sondern der Fahrauftrag wird abgebrochen und ein Polynom 5. Grades zur Ausgleichsbewegung verwendet.
Der Parameter ST_Synchron.lrPhase wird bei der Ausgleichsbewegung des letzten Schritts eines Zugs in einer Station verwendet, da mit dieser Bewegung lrTrainsDistance ausgeglichen werden muss. Außerdem wird die Poly5-Ausgleichsbewegung bei jedem Schritt angewendet, wenn etEventTrigger = StartOnSignal ist.
Je größer also ST_Synchron.IrPhase ist, desto weicher sind die Ausgleichsbewegungen zwischen einzelnen Schritten und umso kürzer ist die verbleibende Synchronphase. Wird ST_Synchron.lrPhase kleiner gewählt, wird die Ausgleichsbewegung härter und die Synchronphase länger.