MultiBelt - als DualBelt konfiguriert
Die MultiBelt-Bibliothek bietet die Funktionalität zum Gruppieren oder Einzutakten von Produkte mit parallel arbeitenden Bändern. Dabei ist die Anzahl der Bänder ab zwei aufwärts frei konfigurierbar.
Der Hauptnutzen des MultiBelt besteht darin, zwei Verpackungsmaschinen bzw. zwei Teile von Verpackungsmaschinen, die mit unterschiedlichen Taktraten arbeiten, miteinander zu koppeln.
Beispiele für typische Einsatzgebiete
oProdukte gruppieren
Eine Primärverpackungsmaschine (z. B. Flowwrapper) liefert einen Produktstrom, der nicht gestoppt werden kann. Ein Roboter soll die Produkte in eine Sekundärverpackung legen. Der MultiBelt wird zwischen Primärverpackungsmaschine und Roboter platziert. Der MultiBelt nimmt den Produktstrom entgegen und gruppiert die Produkte so, dass der Roboter sie aufnehmen kann. Der Produktstrom wird von seriellen einzelnen Produkten in ein getaktetes Muster überführt.
oEintaktung
Eine Primärverpackungsmaschine liefert einen zufälligen Produktstrom von einzelnen Produkten. Der MultiBelt nimmt den Produktstrom entgegen und gibt die einzelnen Produkte mit definierten Abständen oder in bestimmten Mustern phasenrichtig an eine Folgemaschine ab. Ein Produktstrom mit zufälligen Abständen wird in einen anderen Produktstrom mit definierten Abständen überführt.
In diesem Fall kann der MultiBelt darüber hinaus wie ein Produktpuffer wirken.
Jede MultiBelt-Applikation verfügt über mindestens 2 Stationen in denen Produkte bearbeitet werden (z. B. Produkte werden aufgenommen oder abgegeben). Die Bewegungen, die in den Stationen von Zügen ausgeführt werden, sind im Prinzip identisch. Deshalb wird für jede Station der gleiche Funktionsbaustein verwendet. Daher ist für beide Stationen der gleiche Parameter verfügbar. Infolgedessen können die Bewegungen der Züge komplett frei definiert werden.
Beispiel: Die oben abgebildete Anordnung mit zwei Zügen verfügt über zwei Stationen. Eine zum Beladen der Züge, wo das Produkt individuell und nach dem Zufallsprinzip eintrifft, und eine zum Entladen der Produkte, wo ein Roboter das gruppierte Produkt in einer einzigen Verarbeitungsfolge komplett entlädt.
Es können bis zu 8 Stationen definiert werden, die alle unterschiedlich parametriert werden können.
Weitere Informationen zu den Stationen.
lrBeltLength - lrTrainLength
Folgende Punkte sind wichtig beim Aufbau der Mechanik und der generellen Parametrierung der Mechanik. Die mechanischen Parameter werden in der Struktur stGeneral festgelegt.
oDie Mechanik besteht aus mindestens zwei parallel laufenden Bändern. Siehe uiNumOfBelts
oAuf jedem Band ist mindestens ein Zug montiert. Wird mehr als ein Zug pro Band montiert, müssen die Züge exakt um lrBeltLength/uiTrainsPerBelt versetzt angebracht werden. Siehe uiTrainsPerBelt
oAlle Züge sind mechanisch betrachtet gleich lang! Siehe lrTrainLength
oAlle Bänder müssen gleich lang sein! Siehe lrBeltLength
oDie Drehrichtung der Motoren muss so angepasst werden, dass die Position jeder Achse die ein Band antreibt größer wird, wenn sich das Band von einer Station mit kleinerem lrStationPos zu einer Station mit größerem lrStationPos bewegt. (In den meisten Fällen ist damit die positive Richtung der Achsposition gleich der Produktlaufrichtung.)
Sowohl in der Feedconstant (Umfang der Antriebswelle auf der Getriebeabgangsseite) der Achsen als auch im Parameter lrBeltLength muss eine ganze Zahl ein Vielfaches der Länge eines Zahns bzw. eines Kettenglieds sein. Das heißt, die "Feedconstant" der Achsen/Länge eines Kettenglieds muss eine ganze Zahl ergeben. Ebenso muss lrBeltLength/Länge eines Kettenglieds eine ganze Zahl ergeben.
HINWEIS: Wenn lrBeltLength und Feedconstant nicht in der entsprechenden, festgelegten Art und Weise gesetzt sind, so wird die Position der Züge nach einer Weile nicht mehr mit der Mechanik korrespondieren, weil der MultiBelt während des Betriebs nicht wieder referenziert wurde.
In der Konfiguration des MultiBelt werden mehrere Arrays verwendet. Um die Eingabe für den Anwender zu vereinfachen, wurde für Arrays folgendes Verhalten festgelegt:
oWird die 0.te Stelle eines Arrays beschrieben, so ist dieser Wert für alle Stellen des Arrays gültig.
oIst die 0.te Stelle gleich 0, werden die anderen Werte von 1 ab verwendet.
Daher wird es dadurch beispielsweise möglich, dass die Schritte erheblich reduziert werden, wie aus dem folgenden Beispiel ersichtlich ist:
uiNumOfSteps = 5;
alrSteps[0] := 50;
entspricht:
uiNumOfSteps = 5;
alrSteps[1] := 50;
alrSteps[2] := 50;
alrSteps[3] := 50;
alrSteps[4] := 50;
alrSteps[5] := 50;
Dieses Verhalten gilt für folgende Arrays:
oalrSteps
oauiProductsPerStep